【codechef】January Lunchtime 2015

2015年3月1日1,3420

Piece of cake 

统计每个字母出现次数,取最大值,判断其是否等于l/2

Just multiply 

乘法快速乘即可,但乘方由于M过大。。使用欧拉函数降幂比较麻烦。。

发现

a^(10b+c)

= (a^b)^10 * a^c

然后就能On算出表达式了

^10可以看做常数

Candidate walk

状压一下,转移显然

Many bananas

这一题比较有意思

将宗族大小分为<=300 和 >300

用数组统计大小为1-300的宗族个数,询问时暴力

记>300的宗族数为tot,设询问数为x

若没有取模,则ans+=tot*x

若有一个>300的宗族,设人数为y

则询问在0-y之间答案不变

y-2y之间答案减少y

以此类推

这部分用树状数组统计