![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
ShawnBox
这个作者很懒,什么都没留下…
展开
-
【思维题】【图论】AGC011 C——Squared Graph
题目传送门考场上企图用归纳法来做,然而事实证明我依旧似乎走错了方向.题目中的定义了图的乘法,然后来根据图的不同特征进行讨论.首先我们考虑一种最简单的情况,设A,B是两个图,并且它们都是一个单点,那么A对答案的贡献为∣B∣\mid B \mid∣B∣.反之对B同理.然后考虑两个图都没有奇环的情况,(似乎这样可以看作二分图),这样的两个图乘起来对联通块的个数贡献是2.因为形如(u1,u2)-&...原创 2018-09-26 21:16:58 · 331 阅读 · 0 评论 -
【思维题】【欧拉回路】AGC018 D —— Two Trees
题目传送门持续看官方题解,顺便复习一下欧拉回路的求法.刚刚T过几次题目中要求的子树之和的绝对值为1,也就意味mod 2为1.那么对于每个节点,如果它的亲儿子数为偶数,它的权值就应该为奇数,反之亦然.通过上面的性质我们可以推出每个节点最终答案的奇偶性,从而判断是否有解.当且仅当两棵树中,同一个节点的答案奇偶性相同时,才有解.现在只是确定了答案的奇偶性,接下来就需要运用欧拉回路求得具体的值了....原创 2018-10-08 20:07:35 · 294 阅读 · 0 评论 -
【Tarjan】【强连通分量】 BZOJ 5201 —— Connections
题目传送门(没有权限号打不开)对于每一个节点,我们保留一条树边,以及最多一条返祖边.注意这条返祖边要指向尽可能高的位置.这样下来保留的边数一定小于等于2n,并且满足图依旧是强连通的.至于为什么,贪心的想一想.既然之前满足强连通,我们保留走到dfn最小的返祖边后也一定是强连通的.最后随意乱加边直到2n即可.只需进行一次Tarjan,保留树边,并在过程中维护出当前点通过返祖边走向的dfn最小的点,...原创 2018-10-09 15:54:24 · 192 阅读 · 0 评论 -
【Tarjan】【割边割点】HDU4738 —— Caocao's Bridges
题目传送门讨论版是个好地方,本题三大坑都有说比较水的Tarjan基础题,大概就是求一个权值最小的割边,水过去.但是,有重边,要注意处理;有可能不连通,这个时候不需要有人去炸桥;最后答案是0,要输出1,因为需要一个人抗炸药过去.#include<cstdio>#include<algorithm>#include<vector>using names.原创 2018-10-09 18:58:59 · 339 阅读 · 0 评论 -
【Tarjan】POJ 2942 —— Knights of the Round Table
题目传送门题目中给出的是骑士中矛盾关系,可以转换一下,得到原图的补图.然后观察题目中的条件,即选择的骑士数是奇数,并且相邻之间不矛盾.对应到现在的补图上,即寻找一个奇环,使得环的大小大于等于3.也就是说,只要一个骑士能够出现在一个符合条件的奇环中那么这个骑士便是合法.首先用Tarjan将点双连通分量全部求出,对于一个点双连通分量,可以利用交替染色的方法判断是否存在奇环,如果存在一个奇环那么这个...原创 2018-10-09 20:42:26 · 150 阅读 · 0 评论 -
【最短路】BZOJ 3445 —— Roadblock
题目传送门[权限题警告]暴力算法:枚举改变哪一条边的权值,然后跑最短路求max这样做可能会T掉.因此想办法优化,然后显然地可以看出只有改变了最短路上的边,对最后的答案才有可能有影响.因此先跑一遍最短路,统计出最短路上的边,然后暴力枚举.#include<cstdio>#include<algorithm>#include<queue>using na..原创 2018-10-10 19:17:01 · 314 阅读 · 0 评论 -
【最短路树】BZOJ 3694 —— 最短路
题目传送门(权限题警告)显然可以发现,将1到i路径上的最后一条路切断后,需要重新找到一条从i的子树出发的最短路径重新回到最短路树上去.因此考虑一条边什么时候会被计算在答案中.设一条边u->v权值为val,只会可能对u,v到 lca(u,v) 之间的点产生影响.记录源点1到节点i的距离为dep[i],那么就可以把答案更新为 dep[u]+dep[v]+val-dep[i].可以预处理出...原创 2018-10-10 20:53:07 · 293 阅读 · 0 评论