省选模拟96
A. 多边形
容易发现当$k>3$时无解。
然后容易证明当$k=3$时,只有$m=3$才是有解的。
然后直接做不好做,考虑钦定然后容斥出合法方案。
对于$k=3$,枚举一个点,然后计算另一个的方案数。
其他情况类似,钦定满足条件的角,然后容斥。
然后对于每一个$O(n)$的式子用组合恒等式大力化简就可以做到$O(1)$了。
B. 仙人掌
考虑每个点周围的点的权值种类不会超过根号种。
所以考虑维护每个点周围的点的权值,首先对于儿子的权值用数据结构维护,每次暴力对每个权值重构。
对于父亲的贡献,可以简单得到父亲当前的权值,然后暴力修改维护即可。
C. 多项式
假如前n个变量的总和已经确定为$X$,那么后面的贡献就是组合数,展开可以得到一个$m-n$次多项式。
所以求出来前面总和的k次方的和就可以将这些东西代入多项式得到答案。
考虑怎么求这个东西,直接倍增即可。