随笔分类 -  启发式合并

摘要:Description 现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树。(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的)。由于不同的最小生成树可能很多,所以你只需要输出方案数对31011的模就可以了。 Input 第一 阅读全文
posted @ 2017-09-19 14:46 Melacau 阅读(229) 评论(0) 推荐(0)
摘要:题意:n个连续的点,有若干种颜色,每个颜色会因为某些操作变为另一种颜色,动态查询颜色段数。 解题思路:对每个颜色开一棵平衡树启发式合并应该是最裸的想法,但是我们有更优的! 考虑对每个颜色利用链表储存它的集合,在合并两种颜色时可以很简单通过对比原节点位置的前后颜色来进行答案的更新,然后利用启发式合并进 阅读全文
posted @ 2017-05-09 09:15 Melacau 阅读(356) 评论(1) 推荐(0)
摘要:原题传送门 题意:给你N个带权点,一开始相互独立(每个点视为单独一个集合),有2种操作:1)合并2个集合;2)查询包含某元素集合内的权值第k小点编号。 解题思路:显然合并就是并查集,而查询则是平衡树实现。 考虑对每个集合开一棵平衡树,这样的话直接合并2棵平衡树的效率最坏是\( n \log n \) 阅读全文
posted @ 2017-05-04 09:44 Melacau 阅读(315) 评论(0) 推荐(0)