摘要:
纪念我菜的真实的一场模拟赛 首先看到这个题目,一开始就很毒瘤。一定是没有办法直接做的。 我们考虑转化问题 假设,我们选择枚举$x$,其中$x$是$10$的若干次方,那么我们只需要求有多少对异或完比$x$大的数,那么就是$x$对于答案的贡献了。 那么应该怎么求比多少对呢? !!!trie!!! 对于t 阅读全文
摘要:
膜拜一发$mts\_246,forever\_shi$ 这两位爷是真的无敌! 首先来看这个题,一看题目的数据范围和“关键点”字眼,我们就能得知这是一道虚树题 那就先一如既往的建出来虚树吧 QWQ 但是这之后,应该怎么去dp呢。 首先,我们需要知道在虚树上每个点的从属都是谁,这样才便于我们进一步扩展到 阅读全文
摘要:
因为辣鸡csdn,导致之前快写好的博客没了 QWQ悲伤逆流成河qwqqq 首先虚树,这个东西,我感觉是一种思想,或者是方法,而并不是一个数据结构什么的。 他主要是用来解决:给出一棵树,每次询问选择一些关键点,求一些信息。 这些信息的特点是,许多未选择的点可以通过某种方式剔除而不影响最终结果。 于是就 阅读全文
摘要:
题目大意就是 给你一个DAG 然后添加一条边$x y$ ,询问以1为根的生成树的个数 QWQ 首先假设没有添加的边 答案就应该是 $$ans=\prod_{i=1}^{n} in[i] $$ QWQ就相当于每个点选择一个父亲。 那么加入一条边,我们会有一些不合法的情况,那就是包含一条$y x$路径, 阅读全文
摘要:
题目大意: 给你一棵树,边权都是1,每一个点有一个是起点的概率和一个是终点的概率,你将以起点为根,开始在树上随机dfs,每到一个点,就会将他的所有儿子随机打乱成序列,然后按照那个随机顺序走完,直到走到终点。求dfs从起点到终点的期望长度。 其实一开始看到这个题,还是有点懵逼的啊 根据期望的线性性,我 阅读全文
摘要:
QWQ 这个题目是LCT维护子树信息的经典应用 根据题目信息来看,对于一个这条边的两个端点各自的$size$乘起来,不过这个应该算呢? 我们可以考虑在LCT上多维护一个$xv[i]$表示$i$的虚子树的子树和,然后维护$sum[i]$表示$i$的虚+实子树之和。 那么对于一个点$x$,他在原树上的字 阅读全文
摘要:
这个题目很有意思 QWQ 根据题目描述,我们可以知道,首都就是所谓的树的重心,那么我们假设每颗树的重心都是$root$的话,对于每次询问,我们只需要$findroot(x)$就可以。 那么如何处理$link$操作呢QWQ 这里是看了题解,我才知道是怎么做的 大致的思想就是: !启发式合并! 首先,这 阅读全文
摘要:
QWQ嘤嘤嘤 此题正规题解应该是边分治??或者是树剖(总之不是LCT) 但是我这里还是把它当成一个LCT题目来做 首先,这个题的重点还是在update上 因为有$makeroot$这个操作的存在,所以自然避免不了$reverse$,而当$reverse$之后,会影响到每个点维护的值的时候,就需要同时 阅读全文
摘要:
这个题目还是很好啊QWQ很有纪念意义 首先,如果在序列上且是单次询问的话,就是一个非常裸的贪心了QWQ这也是NOI当时原题的问题和数据范围 我们考虑上树的话,应该怎么做? 我的想法是,对于每一位建一个LCT来做,然后对一个点x维护,当前是0到链顶的结果,当前是1到顶的结果,当前是0到底的结果,当前是 阅读全文
摘要:
这也是一道LCT维护生成树的题。 那么我们还是按照套路,先对边进行排序,然后顺次加入。 不过和别的题有所不同的是: 在本题中,我们需要保证LCT中正好有$n 1$条边的时候,才能更新$ans$ 其次,更新答案的时候,已知我们的边是最小的边,所以我们要考虑删除最大的边来考虑更新答案,而求最大边的过程, 阅读全文