AGC005
A STring
不会,有没有老鸽蕉蕉我/kk/kel/dk
https://agc005.contest.atcoder.jp/submissions/7926986
B Minimum Sum
单调栈板子题
https://agc005.contest.atcoder.jp/submissions/7927292
C Tree Restoring
先得出直径\(d=\max a\),然后所有\(a\ge\frac d2\),且至少要有一条直径
还有正好取到最小值\(a\ge\frac d2\)的点数有限制
https://agc005.contest.atcoder.jp/submissions/7927397
D ~K Perm Counting
容斥,设\(f_i\)表示取了\(i\)个不合法的方案数,答案是\(\sum f_i(n-i)!\)
建一个图,每个点拆成\(i_L,i_R\)如果选了这个点表示\(i\)取到了不合法且占据了位置\(i-K/i+K\)
连边\(i_L,i_R\)和\(i_R,(i+2K)_L\),限制变成了要选一个独立集
然后这个图可以拆成若干条链,一条长为\(L\)的链选\(x\)个不相邻的点方案数是\(\binom{L-x+1}{x}\)
https://agc005.contest.atcoder.jp/submissions/7942347
E Sugigma: The Showdown
定义红树上的边长为这条边端点在蓝树上的距离
如果有一条红树上的边长\(\ge 3\)那么只要\(A\)走到了这条边一个端点而且没暴毙那么可以一直玩B,答案无限
否则从蓝树上看,\(A\)肯定走不出\(B\)所在的子树,不如去一个很深的地方等死
在两棵树上搜两遍就好了
https://agc005.contest.atcoder.jp/submissions/7942593
F Many Easy Problems
对每个点单独计算贡献,对点\(x\)计算大小为\(i\)的连通块会包含\(x\)的方案数
但是不好算,改为算大小为\(i\)的连通块不会包含\(x\)的方案数
然后这个东西就是用\(x\)作为根,拿出子树的siz数组,就是\(\sum\binom{siz}{i}\)
显然可以ntt优化= =
https://agc005.contest.atcoder.jp/submissions/7942941