比较傻逼的题目,显然答案等于
\[\large sum_{d=1}^n \varphi_d \times \lfloor \frac n d \rfloor \times \lfloor \frac m d \rfloor \]容斥+整除分块即可。
和上题相同,不过数据范围变大了,要卡常(NT SPOJ太慢了)。
卡常经过:
1.火车头
2.快读
3.register、inline
4.对整除分块进行根号分治,小于根号的暴力做。
5.将容斥部分放到整除分块里面算,减小一半的常数。
正解二分+Hall,我写的随机化。
暴力去匹配最优答案的复杂度是\(O(N^2)\)的,但是当当前答案已经小于目前的最大值后可以break。
剪完枝后依旧无法通过,加上random_shuffle直接AC。
暴力碾标算
FWT板子题,注意数组清空即可。
大佬博客