题解-NOI2021

Day 1

T1 edge

转换题意,操作 1 相当于给每个点染一个新颜色,然后操作 2 相当于数有多少个点与其父亲的颜色相同。于是 (ans=dis(a,b)-num+1)(num) 是相同的颜色段数。然后树剖+线段树维护即可。

code

T2 xpath

看到这个要求的东西换一下元可以发现就是逆序对数,然后偶加奇减这不就是行列式吗?

于是 A 性质就做完了。我们仔细考虑一下这个能不能扩展,其实可以的。我们直接把所有矩阵乘起来然后再求行列式就行了。

这玩意具体有个名字叫 LGV 引理。

code

T3 celebration

根据题目的性质这玩意缩点之后一定是一颗外向树,于是我们只需要把那 (k) 对点拿出来建虚树即可。

草了还是写具体一点吧。

这2k个点中的一个点 u,如果s可以到u或u可以到t,我们把这样的u拿出来,还有s,t。再对于另一个点x,如果有一个那样的点可以到x,x还可以到那样的点,那么x显然就是满足条件的点。

code

Day 2

T1

抽屉原理,把串分成 16 段,必有一段完全相同,我们只需找这一段完全相同的即可。

T2

容易发现最后输出的东西其实是个序列递推,所以我们用平衡树维护矩阵即可。

T3

不会

原文地址:https://www.cnblogs.com/zcr-blog/p/15062756.html