
连通性
zxyoi_dreamer
退役了退役了爬了爬了,搞个锤子算法竞赛,不如好好享受大学生活。
展开
-
【模板】tarjan算法求割点
参考题目:洛谷P3388解析:联赛完后统一更所有模板题题解。代码:#include<bits/stdc++.h>using namespace std;#define ll long long#define re register#define gc getchar#define pc putchar#define cs constinline int ge...原创 2018-10-29 23:22:53 · 449 阅读 · 0 评论 -
2018.10.30【HNOI2012】【洛谷P3225】【BZOJ2730】矿场搭建(割点)
BZOJ传送门洛谷传送门解析:代码:#include&lt;bits/stdc++.h&gt;using namespace std;#define ll long long#define re register#define gc getchar#define pc putchar#define cs constinline int getint(){ re int...原创 2018-10-30 22:42:35 · 211 阅读 · 0 评论 -
2018.10.30【NOIP练习】电力(割点)
传送门解析:本来难度只能称之为水题,但是数据毒瘤啊。什么考虑一下图不联通的情况,在考虑一下用vector来存题目中没有给数目的边。tarjan乱搞,记录子树个数就可以成功A这道题。代码:#include<bits/stdc++.h>using namespace std;#define ll long long#define re register#define ...原创 2018-10-30 23:43:00 · 159 阅读 · 0 评论 -
2019.01.16【HDU5359】Group(SCC)(支配树)
传送门题意:给出一个有向图,求出分别删掉每条边之后强连通分量数量是否变化。解析:我用三个小时的浪费证明了一件事:stack的空间常数比vector不知道大了多少倍。。。最后把stack换成vector就AC了???卡常三小时,AC一秒钟。。。去UOJ群里面问了一下,标准规定的stack底层容器是deque???然后手动改成stack<int,vector<int&g...原创 2019-01-16 20:02:31 · 351 阅读 · 0 评论 -
2019.02.28【HAOI2018】【BZOJ5303】【洛谷P4494】反色游戏(割点) (高斯消元推结论)
BZOJ传送门洛谷传送门解析:出题人的部分分给的太多了吧。。。光是O(n4)O(n^4)O(n4)高斯消元解异或方程组就有50pts50pts50pts。不过还是可以理解的,毕竟谁会想到考高斯消元啊。一个很显然的做法,高斯消元解异或方程组,设最后自由元的数量为ttt,显然答案就是2t2^t2t。注意一点,如果最后某一个联通分量中有奇数个黑点就gggggg了。显然我们每次操作对黑点数量...原创 2019-02-28 22:49:40 · 191 阅读 · 0 评论 -
2019.04.02【CodeForces487】E. Tourists(圆方树)(树链剖分)(线段树)
传送门解析:我们发现题目中简单路径这个条件其实就是将点双缩点后,重构树上路径经过的所有点双里面的点。于是构建广义圆方树。这道题还是为了方便处理,将所有割边改造为方点。按照套路,所有方点维护亲儿子的信息,直接开一个multiset就行了。显然我们需要询问路径上最小值,上树剖和线段树维护,然后在询问的时候特判路径LCA为方点的情况。代码有点长,但是没什么细节,很好写。代码:#inc...原创 2019-04-02 09:57:00 · 207 阅读 · 0 评论 -
2019.04.02【洛谷P4320】道路相遇(圆方树)
传送门解析:换根支配树?不要想了,你要是明白支配怎么建的你就知道这玩意不存在的显然在无向图上除了起点终点以外的必经点就是割点。显然我们就是询问路径上割点个数。建立广义圆方树,显然路径上的所有圆点就是割点。相当于询问圆方树路径上圆点个数。这个嘛。。。怎么开心怎么玩是吧。代码:#include<bits/stdc++.h>#define ll long long#...原创 2019-04-02 10:47:40 · 197 阅读 · 0 评论 -
【TC SRM 499】ImpossibleGame(SCC)(拓扑序DP)
传送门又想起了当初在TC上刷网络流的时候被submit failed支配一下午的恐惧。。。题解:发现由于我们允许交换任意两个位置的字符,对我们唯一有用的就只剩下字符个数,30的不超过4个的有序非负整数拆分有545654565456种,权值显然就是n!a!b!c!d!\frac{n!}{a!b!c!d!}a!b!c!d!n!,直接组合数算一下即可,连边可以直接暴力连,那么缩一个SCC之后就...原创 2019-10-02 23:29:30 · 190 阅读 · 0 评论