http://codeforces.com/gym/100781/attachments 题意:有N个点,M条边,问对两两之间的树添加一条边之后,让整棵大树最远的点对之间的距离最近,问这个最近距离是多少。 思路:一开始看成只有两个连通块,后来才注意到是多个连通块。DFS搜树上最长路径。答案有三种:第 ...
分类:
其他好文 时间:
2016-09-23 19:42:46
阅读次数:
124
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5898 题意:求[l,r]区间内数字,满足连续奇数的个数是偶数个,连续偶数的个数是奇数个。 dp(l,pre,con,fz)表示前l位,最后一位是pre,并且此时这个pre所在的连通块已经有con个了,f ...
分类:
其他好文 时间:
2016-09-22 12:53:13
阅读次数:
115
图的割点、桥与双连通分支 [点连通度与边连通度] 在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。一个图的点连通度的定义为,最小割点集合中的顶点数。 类似的,如果有一个边集合,删除这个边集合以后,原图变成多个 ...
分类:
其他好文 时间:
2016-09-10 20:30:42
阅读次数:
99
首先将每个平原缩成一个点,建出图,相邻两个点之间的边权为它们高度的较小值。 用Kruskal算法求出这个图的最大生成树,每次合并两个连通块时新建一个点指向它们,得到一棵有根树。 对于每个点,求出它子树内最高的峰,那么对于每个叶子,在它到根的路径上二分查找即可。 时间复杂度$O(nm\log(nm)) ...
分类:
其他好文 时间:
2016-09-07 19:04:07
阅读次数:
204
首先考虑四个格子异或值为1。 然后(重点)发现每个格子的值只和最上面,最左边,和(1,1)的格子的颜色有关。 枚举(1,1)的颜色,联立方程,可以将未知数减少,那么并查集可做。 最后算答案的时候,有些连通块颜色确定,有些不确定,不确定的*2即可。 这题要注意细节!其实一开始的思路最不好想。 ...
分类:
其他好文 时间:
2016-09-07 01:13:31
阅读次数:
142
题意:给定一个有向图,然后你可能改变某一些边的方向,然后就形成一种新图,让你求最多有多少种无环图。 析:假设这个图中没有环,那么有多少种呢?也就是说每一边都有两种放法,一共有2^x种,x是边数,那么如果有环呢?假设x是这个连通块的边数, y是这个环的边数,那么就一共有2^x * (2 ^ y - 2 ...
分类:
其他好文 时间:
2016-08-31 02:03:44
阅读次数:
154
题意:给定一个n*m的矩阵,让你判断有多少个连通块。 析:用DFS搜一下即可。 代码如下: ...
分类:
其他好文 时间:
2016-08-30 00:09:24
阅读次数:
166
bzoj2733[HNOI2012]永无乡 题意: n个节点,每个节点有个权值,初始时有m次连通两点的操作,接下来有q次操作,每次可以连通两个点或求某个点所在连通块权值第k小的节点编号。n,m≤100000,q≤300000 题解: treap启发式合并,就是暴力将小的树拆了插到大的树里,均摊复杂度 ...
分类:
其他好文 时间:
2016-08-17 00:03:26
阅读次数:
157