「考试」省选82

T1
博弈论+分类讨论。
首先单个连通块的胜负情况由其点数决定,是个必然\(Bob\)胜利,否则\(Alan\)胜利。
证明:
一个点的时候\(Alan\)胜利。
两个点的时候\(Bob\)胜利。
奇数点的时候必然可以找到叶子的父亲让\(Alan\)将其覆盖,这样的话最后一个一定是\(Alan\)放置的。
如果\(Bob\)切树,必然有一个连通块是奇数个,那么最终会递归到\(1\)的情况。
考虑一个\(\geq 4\)的长度为偶数的链,\(Alan\)占据一个端点的时候,\(Bob\)必然占据其旁边的一个点。
链相当于去掉了\(3\)个点,递归到奇数情况,\(Alan\)胜利。
非链情况考虑必然存在一个点是最深的分叉点,如果有一个儿子并非叶子,那么必然可以染色这个儿子包含的叶子,这样子就可以使得\(Bob\)染色其父亲,这样相当于去掉了三个点,递归到奇数情况,\(Alan\)胜利。
如果其所有儿子都是叶子,那么占据这个点,\(Bob\)必然选择某一个叶子,这时候总有一个儿子只能被\(Alan\)染色,\(Alan\)胜利。
所以我们只需要考虑树上是否存在一个完美匹配。

T2
枚举一个维度。
剩下的部分变成了动态二维矩形并。
不太好搞。
但是发现矩形的左下角都是(1,1),这下简单了。
直接用\(set\)二分求出修改和查询的范围,就可以维护了。
蒟蒻写的是线段树,一样的做法。

T3
直接上生成函数大暴力了。
答案可以表示为:\(\frac{ans}{K^n}\)
那么计数的生成函数变成:

\[[1,L],F(x)=\sum\limits_{i=0}^{+\infty}\frac{i^Fx^i}{i!} \]

\[[L+1,K],G(x)=\sum\limits_{i=0}^{+\infty}\frac{(K-L)^ix^i}{i!} \]

稍微用斯特林数展开一下就可以得到更加好算的式子。
\(e^{x}\)展开后的情况来算系数,发现要乘\(n^{\underline{n-i}}\),这样的话我们只需要做长度为\(P\)的卷积的\(L\)次幂了。

posted @ 2020-04-28 21:26  Lrefrain  阅读(146)  评论(0编辑  收藏  举报