T1
搜索
根据dalao的思路,因为只有两种字符,所以可以把整个图转为二进制.......做法不会orz
暴搜大法好
T2
......
这题
不难得出
f[1]=1;
for(int i=2;i<=1000000;i++)
{
f[i]=f[i-1];
if(!(i&1)) //even
f[i]+=f[i>>1];
f[i]%=mod;
}
转移方程求出,预处理一下所有数据范围内的f[i]的值就好
(虽然我没推出来)
T3
不断降低计算量,不断后移一位(这题做得ZZ了)从1到n所有最大奇因数和等于所有奇数和加上所有偶数右移成奇数后的和
while(n)
{
if(n&1) //odd
ans=ans+(n+1)%mod*(n+1)%mod/4%mod;
else ans=ans+n%mod*n%mod/4;
n>>=1;
ans=ans%mod;
}
(取膜满足乘法法则)