![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
图论————环问题
#
夕林山寸
这个作者很懒,什么都没留下…
展开
-
算法竞赛——进阶指南——acwing365. 圆桌骑士 v-DCC+二分图染色+思维
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define ls (o<<1) #define rs (o<<1|1) #define pb push_back const double PI= acos(-1.0); const int M = 1e6+7; const int N = 1e3 +7; int head[2*M],cnt=1; struct EDGE{i...原创 2020-07-03 15:43:07 · 315 阅读 · 0 评论 -
P1250 种树 差分约束
跟上一题一样:转化为sm[i],表示前i个区域种多少课树。 建立不等式跑最短路即可。 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define ls (o<<1) #define rs (o<<1|1) #define pb push_back const double PI= acos(-1.0); const int M = 2e5+7; int head[M],cn原创 2020-06-24 12:54:16 · 194 阅读 · 0 评论 -
算法竞赛——进阶指南——acwing 362. 区间 差分约束经典题目 好题 (差分约束总结)
差分约束存在性问题很简单,spfa判环即可。 难点在于求某个变量的最大值,或者某两个变量差的最大/最小值。 求某个变量的最大值我们可以转化为后者。即令x0=0 , xi-x0<=0 / xi-x0>=0; 先说下结论: 求变量差最大值,变成小于等于号,建图求最短路。 求变量差最小值,变成大于等于号,建图求最长路。 当然你可以强行给变量差加个符号,使得一定取最大/最小,使用最短路/最长路。 给出若干个不等式,求 xi - xj 这个变量的最大值。 其中有一个不等式:...原创 2020-06-24 12:48:50 · 222 阅读 · 0 评论 -
P5960 【模板】差分约束算法 spfa判负环
把若干个形如: xi-xj>=c (c是常数,xi,xj两个变量) 转化为最短路图里的三角不等式 用spfa判是否存在负环,并求出单源最短路(设置一个超级源点) #include <bits/stdc++.h> using namespace std; typedef long long ll; #define ls (o<<1) #define rs (o<<1|1) #define pb push_back const double PI= acos.原创 2020-06-23 15:09:15 · 179 阅读 · 0 评论 -
算法竞赛——进阶指南——acwing 361. 观光奶牛 spfa判存在性负环+01分数规划
求和a/求和b 很像01分数规划。 二分结果L。 构造出 若存在一个环满足上述式子等价于存在一组解,使得 式子大于L,即L小于最终结果 l=mid,否则r=mid。 上述构造是因为找负环可以直接用spfa进行处理。 #include <bits/stdc++.h> using namespace std; typedef long double ld; #define ls (o<<1) #define rs (o<<1|1) #define pb p..原创 2020-06-22 22:31:31 · 199 阅读 · 0 评论