题目大意:设f(i)为i的约数个数,求f的前缀和。
思路:暴力是O(n*sqrt(n)),大概过不去。看这数据范围应该就是线性筛没跑了,但是我不会筛约数个数。于是在暴力上面加一点点打表。吧1w到1kw之间10000的倍数的答案打出表,然后剩下10000暴力就好了。
CODE(丑陋的打表):
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int ans[] = {0,93668,201177,313925,430062,548725,669422,791780,915548,1040630,1166750,1293935,1421996,1550902,16805......
阅读全文