codechef challenge June - HZH's Blog - 自闭症

codechef challenge June

nbdhhzh posted @ 2015年6月09日 15:56 in 比赛 with tags cc , 523 阅读

已经打了很多场了第一次发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,所以用分治乘,常数较小所以能过。

Avatar_small
SkyDec 说:
2015年6月10日 21:52

double的FFT好像很兹瓷呀

Avatar_small
xiaoyinan 说:
2015年6月11日 03:57

MoreFb 直接用long double FFT 就可以做了,NTT的话好像答案太大做不了

Avatar_small
nbdhhzh 说:
2015年6月11日 14:09

@SkyDec: 太神啦我感觉不太资磁就写了分治乘

Avatar_small
nbdhhzh 说:
2015年6月11日 14:09

@xiaoyinan: 感觉longdouble的FFT常数大的会比分治乘还慢。。?


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter
Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee