题意:给你一个无向图,给你一个炸弹去炸掉一条边,使得整个图不再联通,你需要派人去安置炸弹,且派去的人至少要比这条边上的人多。问至少要派去多少个,如果没法完成,就输出-1。 分析:如果这个图是已经是多个联通块了,那么一个人都不用去,如果不是,那么只要找出这个无向图上的桥并且哨兵数量最少的那座把它炸了就 ...
分类:
移动开发 时间:
2016-07-29 18:35:58
阅读次数:
275
思路:tarjan把桥找出来,然后缩点,注意这里的缩点是:如果两个点之间的连边不是桥,那么就把他们缩起来,然后用一个lct维护,对于每个询问,如果官道连接的是两个联通块的话,就把他们连起来,否则我们就把u到v的路径全部染色成0 最后只要询问缩点完的S到缩点完的T的路径上有多少是1就是答案了,最后复杂 ...
分类:
其他好文 时间:
2016-07-15 19:17:12
阅读次数:
241
今天一天跟女神学姐一起打了一场APAC_RoundA, 做了AB, 还有CD的小数据。 还有晴神的友情帮助和营养毒奶。 D其实是比较简单的,分很多,应该说是性价比最高的题目,没有抓住。 B题枚举水位的高度,然后搜出联通块,涨水。 C题我还是不怎么确定,不知道为啥裸牛顿就能过大数据,这题挺二的。 D题 ...
分类:
其他好文 时间:
2016-07-10 21:46:40
阅读次数:
230
思路:考试的时候打了LCT,自以为能过,没想到只能过80.. 考完一想:lct的做法点数是100W,就算是nlogn也会T。 讲一下lct的做法把:首先如果一条边连接的两个点都在同一个联通块内,那么这条边对答案没有影响,可以忽略,因此,问题变成了每次询问两个点中路径上权值最大的边(这里的权值我们令它 ...
分类:
其他好文 时间:
2016-07-08 21:39:34
阅读次数:
158
给出n个点和m条边,一条一条地删除边,问每次删除以后有多少个联通块。 分析:其实就是并查集的应用,只是前一阵子一直做图论思路一直囿于tarjan了。。方法就是,记录每一条边,然后从最后一条边开始不断的加边,如果用并查集来判断联通块有没有减少即可。 代码如下: ...
分类:
其他好文 时间:
2016-07-07 17:05:04
阅读次数:
166
点击打开链接
题意:共有三种操作,1是代表可以将与1在一个联通块的点修复,但是最多只能修复k个,修好的点不会在破坏,2代表连接u与v,3是破坏p条道路,问最多可以修多少个点,多种情况输出字典序最小的
思路:每次的1我们直接暴力的将与它在一个联通块的点加进来,然后为了保证...
分类:
其他好文 时间:
2016-07-06 15:04:57
阅读次数:
115
http://codeforces.com/problemset/problem/461/B 思路:dp,dp[i][0]代表这个联通块没有黑点的方案数,dp[i][1]代表有一个黑点的方案数 转移:首先如果儿子节点是个有黑点的,父亲节点也有黑点,那么只能分裂开,不能合并在一起,只对dp[u][1] ...
分类:
移动开发 时间:
2016-06-30 16:12:37
阅读次数:
232
题意: 给你n*n的矩阵(n<=500),矩阵内有x和.,然后给你一个k 你可以把一个k*k的矩阵内全部变成. 问你最多有多少个.可以联通 思路: n^2枚举炸的位置,先预处理联通块和区间.的和 每次向右枚举只需要删掉左边一列,加上右边一列 每次枚举的区间是k*k然后扩展一圈((k+2)*(k+2) ...
分类:
其他好文 时间:
2016-06-23 16:06:15
阅读次数:
225
比较蛋疼的是我们可以先染个底色,再在底色上染别的东西。 由ccz大爷的题解可得。。将目标状态里相同颜色的联通块缩点后,枚举起点,生成树里的最大节点深度就是需要的次数了, 如果最大深度是白色的话记得-1. 1 #include<cstdio> 2 #include<iostream> 3 #inclu ...
分类:
其他好文 时间:
2016-06-18 22:34:25
阅读次数:
272
显然只有当暗恋关系是链的时候才能塞进座位里。 一人连着>2人的话就无解,小心重边。 一条链本身有两种方案,假设总共有n个联通块,其中m条链,答案就是n!*2^m 一开始因为重边炸了几发 1 #include<cstdio> 2 #include<iostream> 3 #include<cstrin ...
分类:
其他好文 时间:
2016-06-18 16:54:58
阅读次数:
133