摘要: 在神my的督促下更一点垃圾做的垃圾题。 "Link" Solution 考虑用图的形式描述A与B的关系: $A_i$支配$B_j$就连边$A_i B_j$ $B_i$是$A_j$的前缀就连边$B_i A_j$ 然后设A权值为串长,B权值为0,在这个图上拓扑序即可。(ps:无限长当且仅当图中有环,反映 阅读全文
posted @ 2020-03-01 23:14 Fruitea 阅读(104) 评论(0) 推荐(1) 编辑
摘要: "Link" Solution 最小生成树有两个性质: 在任意最小生成树上,任意权值的边数目是相同的; 任意最小生成树,在加完了小于某权值的边之后,图的联通性是一样的。 所以先跑一遍Kruskal,对每条边处理出加入权值比他小的边之后两端点所在的联通块。 对于每组询问用,把边按边权排序之后,并查集c 阅读全文
posted @ 2020-01-18 09:03 Fruitea 阅读(110) 评论(0) 推荐(1) 编辑
摘要: Prufer序列 Prufer 序列可以将一个带标号$n$个结点的无根树用$n-2$个$[1,n]$的整数表示。也可以理解为完全图的生成树与数列之间的双射。 带标号无根树与$Prufer$序列是一一对应的。 无根树转Prufer序列 有一棵带标号无根树。它的$Prufer$序列构造如下: 每次选择一 阅读全文
posted @ 2020-01-07 23:00 Fruitea 阅读(268) 评论(0) 推荐(0) 编辑
摘要: "Link" Solution 真是惭愧,现在才来做这道noip就应该做的题目。可能不落实题目也是我csp惨败的原因吧。 把一个玩家的跑步路径拆成两段,以后的统计也分开:一段是从$s$到$lca$的上升路径,一段是从$lca$到$t$的下降路径。 考虑上升路径。对于路径上的某个点$i$,要在$i$处 阅读全文
posted @ 2020-01-04 19:58 Fruitea 阅读(106) 评论(0) 推荐(0) 编辑
摘要: "Link" Solution 考虑用$LCT$维护颜色。每一个$splay$维护的是两两不同的颜色。 第一个操作可以实际上就是$access$操作。 第二个操作问路径上的颜色种类数。第三个问子树内颜色种类的$max$。 因为是静态树,不能再把路径$split$出来了。考虑差分回答:$ans=cnt 阅读全文
posted @ 2020-01-03 15:11 Fruitea 阅读(139) 评论(0) 推荐(0) 编辑
摘要: "Link" Solution 首先不能看错题。题目里有句话: 子节点的标号为上一个 0 号操作叶子标号加 1 。 它是站在 全局0号操作 的角度的,比如上一次在$[l_0,r_0]$长了一个编号为$i$的节点,这一次0操作是在$[l,r]$,那么长出的节点应该是$i+1$。这样意味着某个编号的节点 阅读全文
posted @ 2020-01-03 14:41 Fruitea 阅读(90) 评论(0) 推荐(0) 编辑
摘要: "Link" Solution LCT维护边双的裸题。每次的答案是路径上边双数量 1。 维护边双可以用并查集维护,每次操作就直接作用在边双的代表元素上就行了。因为怕自己漏掉一些$find()$,导致没有在代表元素上操作,干脆就~~丧心病狂~~地在进入任意函数的时候都$find()$一遍(反正复杂度也 阅读全文
posted @ 2020-01-01 16:02 Fruitea 阅读(136) 评论(0) 推荐(0) 编辑
摘要: "Link" Solution 求两端点的子树大小然后相乘。 可以想到直接断边然后两边都$makeroot$一下。答案就是根节点的$size$。 但是怎么维护$size$呢?实子树大小可以直接由两个实儿子得到。但是虚子树不行。所以可以对每个点多维护一个$sv[]$,表示这个节点的虚子树大小总和。 那 阅读全文
posted @ 2020-01-01 10:32 Fruitea 阅读(220) 评论(0) 推荐(0) 编辑
摘要: "Link" Solution 感觉自己做完全靠蒙和猜,尽管是正解但并不知道为什么。看了题解才知道原来是生成树满足这个性质。 暴力可以枚举$max\{a\}$,然后在此条件下找$max\{b\}$最小的$1$到$n$的路径。 优化可以参照kruskal的思想。 先把所有边按$a_i$从小到大排序。维 阅读全文
posted @ 2020-01-01 10:13 Fruitea 阅读(146) 评论(0) 推荐(0) 编辑
摘要: "Link" Solution 一棵$n$个点的树应满足度数和$\sum a_i=2n 2$。而且只要度数和满足条件就一定能根据构造出一棵这样的树。 转化成求有多少种方案满足$\sum\limits_{i=1}^ma_i=2m 2$,$m$任意。移下项就是:$\sum\limits_{i=1}^m( 阅读全文
posted @ 2019-12-30 08:17 Fruitea 阅读(312) 评论(0) 推荐(0) 编辑