A:求和
把和式拆开发现很好求
但是会炸long long
用龟速乘
B:分组配对
倍增加二分
考场想到了二分
但是时间复杂度不是很优
然后用倍增优化一下?
考虑倍增到(2^p) 及 (2^{p+1})
若(2^p)可行而(2^{p+1})不可行
然后就在这个小范围内二分
就能A了
C:城市游戏
咕咕咕咕
D:简单计算
颓柿子
首先把原式化成((frac{0q}{p}+frac{pq}{p})+(frac{1q}{p}+frac{(p-1)q}{p})+...)
这样发现每一对答案要么为p 要么为p-1
可以先假设所有对答案都是p-1
然后计算有多少对少计算了贡献
这个东西也就是求kq能整除p的个数
首先把p和q 约分 然后q作为分子就没有用了
那么就是求k是p/gcd(p,q)的整数倍
然后就很好求了
注意边界和细节