2017.6.5 YY的GCD 失败总结

                  这个题推式子还是比较正常的

2017.6.5 YY的GCD 失败总结_第1张图片

要推式子 解这种题 需要抓住三个要点:

1、利用约数和倍数关系

2、换Σ

3、乘法优化加法(尽量往 商的值相同合并 上靠)、


注意:处理T的约数d的mu值和时不能用线筛直接求,因为线筛不一定遍历所有约数、

附上一段我的反例:

2017.6.5 YY的GCD 失败总结_第2张图片

              

码:

#include
#include
using namespace std;
#include
#include
long long mu[10000005],qsum[10000005],su[10000005],tot,i,j,n,m,T;
bool he[10000005];
void eular()
{
	mu[1]=1;
//	qsum[1]=1;
	//memset(qsum,1,sizeof(qsum));
	//cout<r)swap(l,r);
	for(i=1;i<=l;i=lin+1)
	{
	lin=min(l/(l/i),r/(r/i));
	ans+=(qsum[lin]-qsum[i-1])*(l/i)*(r/i);
	//cout<


你可能感兴趣的:(题目)