T1
求出 前缀和 和 后缀和 再枚举选出来的那个数计算
O(N)
/*
我是记录每位1的个数,再枚举每个数算出改变后的值,求最大
O(N*logN)
*/
//听说数据很水,直接选最大的数来乘都能过-_-|||
需要的知识:无
T2
ax≡p (mod n)
gcd(a,n) | p
即每个人步数与总长度最大公约数的倍数的位置都能到达
考虑枚举n的约数d,若存在gcd(i,n) | d 那么所有 gcd(i,n) = d 的位置都能到达
gcd(i,n) = d → gcd(i/d,n/d) = 1
∴ans+=phi(n/d)
//求的是不能到达的格子,所以要输出 ans - n,调了好久T_T
需要的知识:欧拉函数
T3
这个,,,真心做不来→→
求出 前缀和 和 后缀和 再枚举选出来的那个数计算
O(N)
/*
我是记录每位1的个数,再枚举每个数算出改变后的值,求最大
O(N*logN)
*/
//听说数据很水,直接选最大的数来乘都能过-_-|||
需要的知识:无
T2
ax≡p (mod n)
gcd(a,n) | p
即每个人步数与总长度最大公约数的倍数的位置都能到达
考虑枚举n的约数d,若存在gcd(i,n) | d 那么所有 gcd(i,n) = d 的位置都能到达
gcd(i,n) = d → gcd(i/d,n/d) = 1
∴ans+=phi(n/d)
//求的是不能到达的格子,所以要输出 ans - n,调了好久T_T
需要的知识:欧拉函数
T3
这个,,,真心做不来→→