随笔分类 -  数据结构->并查集

摘要:题解 我一开始还努力想这道题是不是有坑,被SDOI折磨到我觉得不能有那么水的题在…… 就是带权并查集维护一下两点间距离,如果新加一条边两个点在同一集合,看看已有的路径和新加的路径是否相等 乘积可以在模意义下维护,多随机几个模数就行 代码 cpp include define enter putcha 阅读全文
posted @ 2018-08-25 15:27 sigongzi 阅读(232) 评论(0) 推荐(0)
摘要:题解 考虑kruskal 我们都是从边权最小的边开始取,然后连在一起 那我们选出边权最小的一堆边,然后这个图就分成了很多联通块,把每个联通块内部用矩阵树定理算一下生成树个数,再把联通块缩成一个大点,重复取下一个边权的边进行操作 好想然而不是很好写= =写起来感觉有点麻烦 模数非质数,用long do 阅读全文
posted @ 2018-06-22 08:55 sigongzi 阅读(224) 评论(0) 推荐(0)
摘要:题解 开始是想两个并查集的 和A相等,和A不相等 如果AB相等就连 A 相等,B相等 B不相等 A不相等 如果AB不相等就连 A不相等,B相等 B相等,A不相等 但是显然不对,因为和A不相等的不一定和B相等 所以我就gg了,后来发现只要把所有相等的先连上然后看看不相等的有没有在同一集合就行 老年选手 阅读全文
posted @ 2018-06-11 08:05 sigongzi 阅读(177) 评论(0) 推荐(0)
摘要:题解 这个题好妙啊 首先我们发现,如果我们可以暴力,就是把相同的元素拿并查集合起来,最后统计集合个数$cnt$ 答案是$9\ 10^{cnt 1}$ 然而我们做不到= = 我们可以用倍增的思想,类似st表,一次合并两个长度为$2^l$的区间 然后再从区间长度最长往下下放,从长到短遍历,就下放一层,之 阅读全文
posted @ 2018-06-08 15:17 sigongzi 阅读(131) 评论(0) 推荐(0)
摘要:C K th Substring 题解 找出第K大的子串,重复的不计入 这个数据范围可能有什么暴力可以艹过去吧,但是K放大的话这就是后缀自动机板子题啊= = 代码 D Equals 题解 给出可交换的两个位置,和一个排列,求最后能达成pi = i的位置 直接用并查集维护连通性,判一下这个位置上的数和 阅读全文
posted @ 2018-05-17 13:48 sigongzi 阅读(703) 评论(0) 推荐(0)
摘要:High up in the night sky, the shining stars appear in clusters of various shapes. A cluster is a non-empty group of neighbouring stars, adjacent in ho 阅读全文
posted @ 2017-02-05 21:29 sigongzi 阅读(623) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2016-10-04 20:49 sigongzi 阅读(10) 评论(0) 推荐(0)
摘要:Farmer John has a number of pastures on his farm. Cow paths connect some pastures with certain other pastures, forming a field. But, at the present ti 阅读全文
posted @ 2016-10-04 15:47 sigongzi 阅读(340) 评论(0) 推荐(0)