![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
Love_xyh
这个作者很懒,什么都没留下…
展开
-
CF1060E Sergey and Subway
考虑原图:对于原图中一条长度为偶数len的路径,新图长度为len/2;对于原图中一条长度为奇数len的路径,新图长度为(len+1)/2。 设原图长度为偶数的路径总长为A,长度为奇数的路径总长为B,长度为奇数路径有C条,那么新图路径总长即为:(A+B+C)/2。 A+B即为原图的所有路径总长,算每一条边的贡献可得。 C为原图奇数路径条数,可以发现,一条奇数路径的两顶点的深度,一定是一奇一偶。 #include <bits/stdc++.h> #define int long long using原创 2020-09-30 00:18:33 · 139 阅读 · 0 评论 -
[HNOI2010]平面图判定
根据哈密顿回路的顺序,建立虚拟坐标,后根据虚拟坐标判断两不在回路上的边是否相交。若相交,则两条边必须:一条在内一条在外。根据2-SAT建边即可。 注意边数为10000,但根据平面图性质,m<=3*n-6,所以对于边数不满足性质的情况,直接判断不可行。 #include <bits/stdc++.h> using namespace std; const int N=605,M=8e5+5; int T,n,m,tot,a[10005],b[10005],c[N],id[N],vec[N];原创 2020-09-14 11:39:59 · 1001 阅读 · 0 评论 -
BZOJ 1001: [BeiJing2006]狼抓兔子
最小割等于最大流,交一发最大流,妥妥地TLE。 虽然对于此题最小割的复杂度是不正确的,但我们仍可以学到,对于无向图来说,建图的时候,直接建图(u,v,w),(v,u,w)即可,不需要建图:(u,v,w),(v,u,0),(v,u,w),(u,v,0)。 #include <bits/stdc++.h> using namespace std; const int N=1e3+5,INF...原创 2019-11-17 19:20:11 · 148 阅读 · 0 评论