BZOJ4804 尤拉心算

2022-05-08 04:27:08 字數 884 閱讀 6637

作者部落格:

正解:莫比烏斯反演

解題報告:

比較簡單的莫烏題,都是老套路了,最後設$q=gt$,可以根號回答一次詢問。

注意後面那個積性函式的遞推公式!邊界不要漏了!

//it is made by ljh2000

//有志者,事竟成,破釜沉舟,百二秦關終屬楚;苦心人,天不負,臥薪嘗膽,三千越甲可吞吳。

#include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

const int maxn = 10000011;

const int maxm = 5000011;

int n,prime[maxm],cnt,q[5012],maxl;

ll sum[maxn],ans;

bool vis[maxn];

inline ll sqr(ll x)

inline int getint()

inline void init()

for(int j=1;j<=cnt && i*prime[j]<=maxl;j++)

sum[i*prime[j]]=sum[i]*sum[prime[j]];

} }for(int i=2;i<=maxl;i++) sum[i]+=sum[i-1];

}inline void work()

printf("%lld\n",ans); }}

int main()

//有志者,事竟成,破釜沉舟,百二秦關終屬楚;苦心人,天不負,臥薪嘗膽,三千越甲可吞吳。

尤拉心算 bzoj4804

問題 b 尤拉心算 bzoj4804 時間限制 2 sec 記憶體限制 256 mb 提交 74 解決 28 提交 狀態 題目描述 description 給出乙個數字n input 第一行為乙個正整數t,表示資料組數。接下來t行為詢問,每行包含乙個正整數n。t 5000,n 10 7 output...

BZOJ4804 尤拉心算

給出乙個數字n 第一行為乙個正整數t,表示資料組數。接下來t行為詢問,每行包含乙個正整數n。t 5000,n 10 7 按讀入順序輸出答案。110 莫比烏斯反演。還有一種用尤拉函式的神仙做法 begin sum sum n phi i,j sum phi d sum sum n i,j d sum ...

4804 尤拉心算

4804 尤拉心算 time limit 15 sec memory limit 256 mb submit 229 solved 147 submit status discuss description 給出乙個數字n 第一行為乙個正整數t,表示資料組數。接下來t行為詢問,每行包含乙個正整數n。...