先用tarjin找割点 割点条件u1是树根,且有大于1棵子树,u1不是树根,low[u[i]]>dfn[u1],把和一个割点相连的联通块建出口。
分类:
其他好文 时间:
2016-03-22 07:51:53
阅读次数:
196
题意: 带权联通块,添边与查询联通块中第k大. SOL: splay合并+并查集. 我以为splay可以用奇技淫巧来简单合并...调了一下午终于幡然醒悟...于是就只好一个一个慢慢插...什么启发式合并...说的那么高级其实那么丝帛. 实现得非常渣...中序遍历3060ms,换成队列并没有快起来..
分类:
其他好文 时间:
2016-03-21 09:20:44
阅读次数:
274
题目: 题意: 给了一个联通无向图,现在问去掉某个点,会让图变成几个联通块? 输出的按分出的从多到小,若相等,输出标号从小到大。输出M个。 分析: BCC求割点后联通块数量,Tarjan算法。 联通块的数目在找到一个low[y]>=dfn[x]时累加,最后加一即可。 代码如下: 2016-03-17
分类:
移动开发 时间:
2016-03-17 14:41:33
阅读次数:
333
Description N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数。 Input 第一行四个整数N、M、K、type,代表点数、边数、询问数以及询问是否加密。接下来M行,代表图中的每条边。接下来K行,每行两个整数L、R代表一组询问。对于type=0的测试点,读入的L
分类:
其他好文 时间:
2016-02-28 18:16:54
阅读次数:
305
UvaLive4287 roving Equivalences 题意:给n个定理,以及m个关系,即u定理可以推出v定理。问至少还需要加多少个条件,才能是定理两两互推。 思路:Tarjan缩点。然后变成一个DAG。ans1记录入度为0的联通块,ans2记录出度为0的联通块。输出较大值即可。注意如果点数
分类:
其他好文 时间:
2016-02-27 06:19:11
阅读次数:
230
题目链接:http://codeforces.com/contest/616/problem/C 题意就是 给你一个n行m列的图,让你求’*‘这个元素上下左右相连的连续的’.‘有多少(本身也算一个),每个’*‘的结果取模10。要是为’*‘输出结果,否则输出’.‘。 这个题目就是让你求连续的'.'联通
分类:
移动开发 时间:
2016-02-05 01:29:41
阅读次数:
260
卡了一个星期插头dp…… 终于还是卡过去了……算是吧233 插头dp简单地说就是对路径进行状态压缩,记录当前的分段路径…… 首推肯定还是《基于连通性状态压缩的动态规划问题》,真心做得很好: 看完就没啥问题了……实在看不下去的话…… 状态表示:0:无插头 1:“(”,即该联通块的左端点 2...
分类:
其他好文 时间:
2016-01-17 14:54:51
阅读次数:
139
题目链接给n个城市, m条边, q个询问, 每个询问, 输出城市a和b的最短距离, 如果不联通, 输出not connected。用并查集判联通, 如果不连通, 那么两个联通块之间加一条权值很大的边。 然后树链剖分.....#include #include #include #include #i...
分类:
其他好文 时间:
2016-01-02 14:16:06
阅读次数:
175
一开始以为直接算联通块个数就行了后来发现还得分联通块里的奇点。。。还要注意m = 0的情况... 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 void....
分类:
其他好文 时间:
2015-11-19 20:55:15
阅读次数:
182
最近好懒,堆了好多题没写题解。。原题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1706题意:给你一个图,问你每个点去掉后有多少个联通块题解:就T...
分类:
其他好文 时间:
2015-10-18 16:47:50
阅读次数:
165