![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
差分约束
AC__dream
道阻且长,行则将至;行而不辍,未来可期!
展开
-
LibreOJ - 2436(差分约束)
题目链接:#2436. 「SCOI2011」糖果 - 题目 - LibreOJ (loj.ac) 这道题显然是一道差分约束的题目,重点是将题目中所给的条件转换为不等式。由于题目中求的是最少的糖果,所以我们就要利用spfa跑最长路,注意初始的dist值是负无穷大。代码里面有条件的等价变形,下面直接上代码: #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #i原创 2021-09-10 21:41:43 · 126 阅读 · 0 评论 -
差分约束系统
差分约束系统是一种特殊的n元一次不等式组,它包含n个变量x1,x2,……,xn以及m个约束条件,每一个约束条件是形如xi-xj<=ck的二元一次方程(ck是常数)。我们的目的就是求出满足所有约束条件的一组解。 xi-xj<=ck等价于xi<=xj+ck,类似于三角不等式dist[xi]<=dist[xj]+ck,因此我们可以把每一个变量看成图中的一个节点,对于约束条件xi<=xj+ck可以从j节点向i节点连一条长度为ck的有向边。容易发现对于任意一组合法解,把每个变量都加上d原创 2021-09-10 21:36:56 · 144 阅读 · 0 评论 -
区间选数(差分约束)
今天的限时训练中遇到了一道比较经典的题目,现在来跟大家分享一下: 给定n个闭区间[ai,bi](1≤i≤n,0≤ai≤bi≤50000) 和n个整数ci(1≤i≤n) 你需要在数轴上选出尽可能少的点,满足每个区间[ai,bi]中,至少有ci个数被选中了。 简单点:从0~50000中选出尽可能少的整数,使每个区间[ai,bi]内都有至少ci个数被选出。 Input 输入的第一行包含整数n(1 <= n <= 50000) -。 以下n行描述了间隔。 输入的第(i + 1)行包含由单个空格原创 2021-08-05 22:07:27 · 620 阅读 · 0 评论