好题flag--(6.7)

来源:互联网 发布:手机软件显示网络异常 编辑:程序博客网 时间:2024/05/22 12:49

TC SRM 660 div2 1000pts

题意:

f(i)=i2k1,求:(ni=1f(i))modM
参数范围:i[1,100000],k[1,400],M[1,1000000000]

思路:

首先呢,求f(i),就是一个快速幂嘛,但是指数是2k1,转化成二进制就是111k ,所以快速幂的复杂度就是O(k),然后怎么求快速求解答案呢?对于每个素数i,直接可以得到f(i),贡献记为s[i],那么对于不是素数的i的话,相信你知道怎么做了吧,分解质因数啊,因为素数对答案的贡献我们已经知道了为s[p]pi的质因子),所以就可以快速得到i为非素数时候的答案了!比赛的时候只想到了求逆元,所以就GG了~~,好爽!

codeforces round #239(div 2) D long path

思路:

就是一个递推关系,利用前面已经得到的状态信息!这里dp的定义比较重要,可以定义dp[i]为从ii+1号房间所需步数,所以:
dp[i]=2+j=i1j=a[i]dp[j]modM,初始化呢就是dp[1]=2,这里a[i]是指他使用第二个转送可以到达的地方!

codeforces round #239(div 2) E

思路:

待补。。。

0 0
原创粉丝点击