![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
启发式合并
EMber _
人但有追求,世界亦会让路。
展开
-
bzoj3123 【SDOI2013】森林 启发式合并
Description小 Z有一片 森林 ,含有 N个节点, 每个 节点上都有一非负 整数作为 权值 。 初始的时候, 森林中有 M条边。小 Z希望 执行 T个操作 ,操作有两类:1、Q x y k 查询 点 x到点 y路径上 所有的 权值 中, 第 k小的权值是多少。 此 操作保证点 x和点 y连通,同时这两个节点的路径上至少有 k个点。2、L x y 在点 x和点 y之间连接一条边。保证完成此操原创 2017-02-28 17:04:42 · 297 阅读 · 0 评论 -
jzoj5363【NOIP2017提高A组模拟9.14】生命之树 trie+启发式合并
题意:有一颗树,每个点有一个权值和一个字符串,要求计算出以每个点的子树的贡献,贡献的定义是两个点权值的xor*两个点字符串的lcp。n<=1e5其实这题我第一眼就想到trie,但是我trie基本上没做过多少题,不会xor统计的那种科技(这个太基础了吧喂),然后就异想天开用了个SA,结果爆炸,调了半天调不出来,心情复杂。正解是trie合并。开两颗trie,一颗记录lcp,一颗记录每个子树内有多少个点的原创 2017-09-15 22:24:51 · 310 阅读 · 0 评论 -
bzoj1483[HNOI2009]梦幻布丁 链表+启发式合并
题意:N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色.范围不给耍流氓。 一开始没认真想直接无脑线段树后来发现好像修改没办法维护,然后认真想了想好像我一定要记录相邻的颜色,那只能链表了啊 = =,那好吧就链表了。 注意启发式合并不然会T。#include<cstdio> #include原创 2017-09-16 10:30:10 · 253 阅读 · 0 评论 -
JZOJ5373. 【NOIP2017提高A组模拟9.17】信仰是为了虚无之人 并查集+启发式合并
题意:构造一个长度为n数列,给出m个要求,保证第一个满足,每个要求具体描述为li,ri,ki,表示l到r的异或和为k。对于每一个操作,如果能和前i-1个要求不冲突(能构造出一个合法序列),输出1,否则输出0,最后输出合法序列(不合法的要求忽略),要求字典序最小。大爷好像很喜欢启发式合并= =。被虐了,完全没想到并查集那个地方去。 假设我们现在已经构造出了原序列,接下来的问题就是怎么符合要求。那么我原创 2017-09-17 15:43:04 · 415 阅读 · 0 评论