codechef challenge June - HZH's Blog - 自闭症
codechef challenge June
已经打了很多场了第一次发blog啊。。
cc真是越来越难了。。滚粗狗没人权啊。。
还没比完放题解是不是会死。。
目前只做了7题
CBARG 签到题。按照题意模拟。
CHPLGNS 把每个图形离原点最远距离排序即可。证明显然。
STDYTAB DP f[i][j]表示第i行的sigma=j的方案数。f[i][j]=sigma(f[i-1][k],k<=j)*C(j,j+n-1)。
FRNDMTNG 分类讨论,把函数图像画出来算一算面积即可。
CHSTR 先建sam。然后通过parent树统计每个子串出现的次数。然后统计出出现过x次的子串有几个。之后利用杨辉三角形n^2预处理答案。
ANCOIMP 题意题。显然,如果A[i][j]是1那么输出中f[i]!=f[j]。他最终要求最大化输出中0的个数*1的个数。由于0、1等价,假设0比1少。那么就是让0的个数尽量接近n>>1。然后对于一个联通块统计出他两种颜色分别有几个。之后跑背包即可。
MOREFB 首先利用斐波那契数列的通项拆成两个积性函数的和。然后把sqrt5在模的意义下的值提取出来。列出母函数,变成一些(1+a[i]x)的积。想到分治FFT。由于模数不支持ntt,所以用分治乘,常数较小所以能过。
2015年6月10日 21:52
double的FFT好像很兹瓷呀
2015年6月11日 03:57
MoreFb 直接用long double FFT 就可以做了,NTT的话好像答案太大做不了
2015年6月11日 14:09
@SkyDec: 太神啦我感觉不太资磁就写了分治乘
2015年6月11日 14:09
@xiaoyinan: 感觉longdouble的FFT常数大的会比分治乘还慢。。?