听说CC也分div1 div2了
Mix the Colors
如果有重复的数,就把最大的数加到这个数上,所以答案是n减去不同的数的个数
Chef and Easy Problem
从高到低枚举贪心。
Minions and Voting
对每个人二分一下它能投票的区间
Chef and Gcd Queries
对每个质因数开线段树记录一下它的倍数出现的情况
莫比乌斯反演就可以了
Pishty and Triangles
可以证明取出区间里50个数,如果这50个数中不存在能组成三角形的三个数,则无解
在线段树上搞
Chef and Interval Painting
令 fi,j f i , j 表示长度为 i i 的区间 个人去染色且出现了 j j 种颜色的方案数
那么 ,打个表发现 fi,j f i , j 是第一类斯特林数倒序…
然后直接分治FFT求斯特林数,加点乱七八糟的优化就能过了
CUTTREE
这题刚做的时候一直没想出来…最后一天再看的时候发现自己傻逼了
这题求的是所有联通块大小的平方和的期望
转换一下就是所有点对联通的概率和
令 totk t o t k 表示距离为 k k 的点对个数,这个可以点分治加FFT搞
那么答案是
展开发现要求的东西是 ∑n−1i=0(n−1−i)!toti(n−1−i−m)! ∑ i = 0 n − 1 ( n − 1 − i ) ! t o t i ( n − 1 − i − m ) ! ,这是个卷积的形式,直接FFT