[关闭]
@mayiyang 2019-08-06T12:57:28.000000Z 字数 806 阅读 557

contest11

contest


contest11

1. 各种公式

平方和公式

推导过程 important!





相加得:

立方和公式

四次方和公式

这样可以推出k次方和公式,不再赘述。


2. 求

  1. for (int i=1;i<=n;i++)
  2. sum+=n/i;

O(n),不够快


1. 可以求出连续区间:=

此时(/为整除

  1. //O(sqrt(n)) 方法1
  2. for (int i=1;i<=n;i=j+1)
  3. {
  4. int j=n/(n/i);
  5. sum+=(j-i)*calc(i);//calc(i)计算n/i
  6. }

2. 也可以先暴力求~,剩余部分:

  1. //O(sqrt(n)) 方法2
  2. int m=sqrt(n);
  3. for (int i=1;i<=m;i++)
  4. sum+=n/i;
  5. for (int i=n/m;i>1;i--)
  6. {
  7. //从n/i+1到n/(i-1)
  8. int a=n/i,b=n/(i-1);
  9. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注