<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      【題解】HDU6760 Math is Simple (差分)

      【題解】HDU6760 Math is Simple (差分)

      好nb的題啊

      \(n\le 1e8\)

      \[f(n)=\sum_{1\le a<b \le n,a\perp b,a+b\ge n} {1\over ab} \]

      \(T\le 1e4\)組詢問(但是你他嗎std不是\(O(n)\)的復雜度嗎)

      那么

      \[f(n)=f(n-1)+\sum_{i\perp n}{1\over in}-\sum_{a<b,a+b=n-1,q\perp b} {1\over ab} \]

      \(g(n)=\sum_{a<b,a+b=n,a\perp b} {1\over ab}\)

      其實

      \[g(n)={1\over n}\sum_{1\le a<b\le n,a+b=n,a\perp b} {a+b\over ab}={1\over n}\sum_{a\perp n-a}{1\over a}={1\over n}\sum_{a\perp n}{1\over a} \]

      所以

      \[f(n)=f(n-1)+g(n)-g(n-1) \]

      所以

      \[f(n)=\cases{ 1 & n=1 \\ {1\over 2} & n=2 \\ g (n)+{1\over 2} & otherwise } \]

      然后他媽的"You can pre-calculate all \(h_{0\dots 10^8}\) values in a second, or so."

      //@winlere
      #include<iostream>
      #include<cstring>
      #include<algorithm>
      #include<cstdio>
      #pragma GCC optimize(3)
      
      using namespace std; typedef long long ll;
      int qr(){
      	int ret=0,c=getchar(),f=0;
      	while(!isdigit(c)) f|=c==45,c=getchar();
      	while( isdigit(c)) ret=ret*10+c-48,c=getchar();
      	return f?-ret:ret;
      }
      const int mod=998244353;
      const int inv2=(mod+1)/2;
      int h[int(1e8+5)],M[int(1e4+5)],REM[int(1e4+5)];
      int MOD(const int&x){return x>=mod?x-mod:x;}
      int MOD(const int&x,const int&y){return 1ll*x*y%mod;}
      
      int mu(int n){
      	int ret=0;
      	for(int t=2;t*t<=n;++t)
      		if(n%t==0){
      			int cnt=0;
      			while(n%t==0) n/=t,++cnt;
      			if(cnt>1) return 0;
      			++ret;
      		}
      	if(n>1) ++ret;
      	return ret&1?-1:1;
      }
      
      int main(){
      	h[1]=1;
      	for(int t=2;t<=1e8;++t){
      		int g=mod/t;
      		h[t]=MOD(mod-g,h[mod-g*t]);
      	}
      	for(int t=2;t<=1e8;++t) h[t]=MOD(h[t-1]+h[t]);
      	int T=qr();
      	while(T--){
      		int n=qr();
      		ll ans=0;
      		if(n==2){printf("%d\n",inv2); continue;}
      		for(int t=1;t*t<=n;++t)
      			if(n%t==0){
      				int g=n/t;
      				ans+=MOD(h[g],mu(t)*(h[t]-h[t-1]));
      				if(t*t!=n) ans+=MOD(h[t],mu(g)*(h[g]-h[g-1]));
      			}
      		printf("%d\n",MOD(MOD(h[n]-h[n-1]+mod,ans%mod+mod)+inv2));
      	}
      	return 0;
      }
      
      
      posted @ 2020-07-22 20:44  誰是鴿王  閱讀(334)  評論(0)    收藏  舉報




















































      主站蜘蛛池模板: 国产精品综合一区二区三区| 亚洲中文字幕国产精品| 国产亚洲精品自在久久vr| 久热这里只国产精品视频| 国产成人精品白浆免费视频试看 | 国产玖玖玖玖精品电影| 亚洲成在人线AV品善网好看| 国产成人综合久久久久久| 亚洲一区二区三区自拍偷拍| 少妇人妻偷人偷人精品| 性xxxx视频播放免费| 久久亚洲精品中文字幕无| 国产精品中文字幕在线| 欧洲lv尺码大精品久久久| 国产精品无码一区二区三区电影| 国产午夜精品理论大片| 亚洲欧洲日产国产 最新| 日韩中文字幕综合第二页| 国产亚洲天堂另类综合| 岳阳县| 狠狠噜天天噜日日噜无码| 亚洲欧美偷国产日韩| 男女啪啪永久免费观看网站| 亚洲熟女乱一区二区三区| 久章草在线毛片视频播放 | 亚洲精品一区二区美女| 麻豆tv入口在线看| 日韩全网av在线| 国产SM重味一区二区三区| 日韩av一区二区精品不卡| 日韩大片高清播放器| 四虎在线成人免费观看| 中日韩中文字幕一区二区| WWW丫丫国产成人精品| 天堂网av一区二区三区| 亚洲天堂av日韩精品| 欧美在线观看www| 亚洲午夜福利网在线观看 | 亚洲在线一区二区三区四区| 精品人妻少妇一区二区三区在线| av色蜜桃一区二区三区|