首页 > 其他分享 >解题报告-论对“差分约束”的新理解

解题报告-论对“差分约束”的新理解

时间:2025-01-19 21:20:51浏览次数:1  
标签:边权 差分 约束 解题 论对 我们

解题报告-论对“差分约束”的新理解

上次说整体计数的时候,我们曾经谈到过,可以把“约束关系”看作一条条边而连之,最后形成一堆连通块。

而在我们所说的“约束关系”中,有一部分是这样的:\(a_i\le b_i+c\)。这样的情况有“差分”,有“约束”,所以是“差分约束”。

差分约束一般情形是,\(a>b>c>...\),让你求 \(a\) 或 \(b\) 或 \(c\dots\) 的最小值。这种情况我们一般只会蹦出来两种思路。

第一种是 \(O(n^V)\) 的大暴力枚举,这个不用说。

第二种就是我们所说的差分约束了。我们把这些约束关系看作一条条边,比如大于关系是边权为 \(1\) 的有向边,而大于等于关系是边权为 \(0\) 的有向边,等于关系是边权为 \(0\) 的无向边

这样的题目一般要求我们求最值,我们就见一个虚拟原点向所有点连边,然后根据题目要求跑图论算法就可以了。这也是跟我们上次说的一样,把抽象的序列问题转化为具象的图上问题,便于解决。

我们总是在学差分约束的时候觉得简单易懂,但是在做差分约束题的时候却什么都看不出来,直到看到题解才知道,哦,这原来是差分约束!那么如何应对这种情况?

看到形如大于、小于、等于的限制,无论是少还是多,直接上差分约束就对了!不用怕考虑漏了情况,那是后面 \(\texttt{Debug}\) 的事情,而且差分约束的限制条件只会多不会少,不会出现整体改动代码结构的情况。

所以综上所述,差分约束只要是遇到大于等一系列的限制,直接上,一般都有极高的分数。

标签:边权,差分,约束,解题,论对,我们
From: https://www.cnblogs.com/KarmaticEnding/p/18680002

相关文章

  • 二维差分
    1/*2二维差分的实际例题,差分演化3数据输入样例:43435122163221711118112219132321031341111213343规模:三行四列,经过三次操作14122115......
  • 二维差分
    https://www.cnblogs.com/Rogerliu/p/186695871/*2视频地址:https://www.bilibili.com/video/BV1ga4y1F7Mj?t=3.1概念理论讲解3视频地址:https://www.bilibili.com/video/BV1ga4y1F7Mj?t=851.3开始通过例题讲解,题目参考同名图片名:二维差分.png4......
  • 学习报告-论对“整体二分”的新理解
    学习报告-论对“整体二分”的新理解二分我们都知道,我们一般会通过二分具有单调性的答案来找到一个最接近某个点的答案。我们可能在以后的学习中遇到一些题,其答案是具有单调性的,但是如果让你在下面构造一个序列,或者构造一些答案,这些答案是无法二分的,只能“根据答案求过程”。然而......
  • 解题报告-论对“线段树思想”的新理解
    解题报告-论对“线段树思想”的新理解一晚上刷了两个线段树知识点,也是见识到了线段树世界的博大精深。我们发现无论怎么写线段树,大体框架都是一样的。那么为什么有那么多种线段树呢?一个是线段树标记的不同。在李超线段树中,每个结点维护的是当前结点最上面那条线的编号,于是更新......
  • P3247 [HNOI2016] 最小公倍数 解题报告
    前置知识:可撤销并查集用一个栈记录合并顺序,每次撤销将栈顶的元素恢复但是这种方法不能路径压缩,因为会改变节点之间的关系,为了保证时间,可以按照\(size\)进行合并题意显然为能不能找到一条路径,使这条路径上最大的\(a\)为\(qa\),最大的\(b\)为\(qb\)因为有a和b两个限制,考......
  • CF1956F Nene and the Passing Game 解题报告
    假设\(j>i\),则:\(i+l_i\lej-l_j,i+r_i\lej-r_j\)所以相当于看区间\([i+l_i,i+r_i]\)和区间\([j-r_j,j-l_j]\)是否有交集可以将这些区间放在数轴上,考虑建虚点,将数轴上的每个点向包含它的区间连边但是这样会有一个问题,记加为右区间,减为左区间,此时就无法判断是哪种区间在相......
  • STM32H723 ADC 差分与单端转换
    1、配置ADC2、配置DMA 3、DMA转换数据到数组/*USERCODEBEGINHeader_StartTaskModbus*/#defineADC_BUFFER_SIZE8//根据规则通道数调整uint32_tadc_buffer[ADC_BUFFER_SIZE];//ADC采样结果缓冲区/***@briefFunctionimplementingthemyTaskModbusthrea......
  • 二维差分计算过程
    现在有一个5行5列的原始数组a:0000000000000000000000000我们可以通过下述代码对这个数组a进行初始化:#include <iostream>using namespace std;const int N = 10;int n, m, q;int a[N][N], b[N][N]; int main() {    cin >> ......
  • Hetao P3804 Cut 题解 [ 蓝 ] [ AC 自动机 ] [ 差分 ]
    Cut:AC自动机简单题。思路看见多个模式串以及求前缀,很显然能想到构建一个AC自动机。那么在用\(T\)查询时,当前指针的深度就是该位置的最长前缀匹配长度。这个在字典树insert的时候就能求出来。求出每一位的最长前缀后,因为这些部分都不能作为分割点,所以将这些区域用差分......
  • 前缀和和差分
    一、一维前缀和的作用大量的区间求和,把原始数组a的区间操作转换为前缀和的两点操作有一个数组{2,1,3,6,4},询问三次结果:1.数组第1到第2个元素的和是多少?2.数组第1到第3个元素的和是多少?3.数组第2到第4个元素的和是多少?num:index:012345 indexnum:array......