[Contest] CodeChef March Challenge 2018

听说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 表示长度为 i 的区间 j 个人去染色且出现了 j 种颜色的方案数

那么 fi,j=k=1nfi,k(j1k1),打个表发现 fi,j 是第一类斯特林数倒序…

然后直接分治FFT求斯特林数,加点乱七八糟的优化就能过了

CUTTREE

这题刚做的时候一直没想出来…最后一天再看的时候发现自己傻逼了

这题求的是所有联通块大小的平方和的期望
转换一下就是所有点对联通的概率和

totk 表示距离为 k 的点对个数,这个可以点分治加FFT搞

那么答案是 i=0n1(n1im)toti(n1m)

展开发现要求的东西是 i=0n1(n1i)!toti(n1im)!,这是个卷积的形式,直接FFT

阅读更多
想对作者说点什么? 我来说一句
相关热词

没有更多推荐了,返回首页