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

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

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      博客園 首頁 私信博主 顯示目錄 隱藏目錄 管理 動畫

      ICPC2019 南京. E. Observation(思路)

      題目鏈接


      \(Description\)
      \(f(d)\)表示空間中到原點距離為\(d\)的整點個數,給定\(L,R,k,p\),求

      \[\sum_{d=L}^Rf(d)\ \mathbb{xor}\ k\mod p \]

      \(L,R\leq 10^{13},R-L+1\leq 10^6\)

      \(Solution\)
      必然是找規律。OEIS可以直接找到規律,或者打表。

      \(f\)都是\(6\)的倍數,令\(g(x)=\frac{f(x)}{6}\),可以發現\(g(x)\)為積性函數,即\(g(\prod p_i^{k^i})=\prod g(p_i^{k_i})\)
      列出\(g(p)\ (p為質數)\)可以知道,若\(p\%4=1\)\(g(p)=p\);若\(p\%4=3\)\(g(p)=p+2\)
      再看\(g(p^2)\ (p為質數)\)可以知道,若\(p\%4=1\)\(g(p^2)=p^2\);若\(p\%4=3\)\(g(p^2)=p^2+h(p)\),其中\(h(p)=8k\)\(k\)\(p\)為第幾個\(\%4=3\)的質數/whl
      考慮如何更好地表示\(h(p)\)
      由OEIS結論可發現\((p-1)h(p)=2(p^2-1)\),即\(g(p^2)=p^2+\frac{2(p^2-1)}{p-1}\),且該結論對\(p^k\)同樣成立。
      所以

      \[f(p^k)=\begin{cases}1,&p=2\\p^k,&p\%4=1\\p^k+\frac{2(p^k-1)}{p-1},&p\%4=3\end{cases} \]

      求出\(\sqrt n\)以內的質數,對每個數就可以\(O(\log n)\)分解質因數求了。
      復雜度\(O(Tn\log n)\)

      PS:注意&的運算優先級比==低。。&運算要加括號!
      \(ans\)求和過程中最多是\(10^6\)\(2\times 10^{13}\)的數,所以還是要取模!


      //1261ms	20MB
      #include <bits/stdc++.h>
      #define pc putchar
      #define gc() getchar()
      #define pb emplace_back
      typedef long long LL;
      const int N=3162300,M=1e6+5;
      const LL LIM=2e18;
      
      int cnt,P[230000];
      bool not_P[N];
      
      inline LL read()
      {
      	LL now=0,f=1; char c=gc();
      	for(;!isdigit(c);c=='-'&&(f=-1),c=gc());
      	for(;isdigit(c);now=now*10+c-48,c=gc());
      	return now*f;
      }
      void Init(const int n)
      {
      	for(int i=2; i<=n; ++i)
      	{
      		if(!not_P[i]) P[++cnt]=i;
      		for(int j=1; j<=cnt && i*P[j]<=n; ++j)
      		{
      			not_P[i*P[j]]=1;
      			if(!(i%P[j])) break;
      		}
      	}
      }
      void Solve()
      {
      	static LL A[M],f[M];
      
      	LL L=read(),R=read(),K=read(),mod=read(),ans=0;
      	if(!L) ans+=K, ++L;
      	int n=(int)(R-L+1);
      	for(int i=1; i<=n; ++i) A[i]=i+L-1,f[i]=1;
      
      	for(int i=1,lim=::cnt; i<=lim&&P[i]<=R; ++i)
      	{
      		int p=P[i];
      		LL now=L/p*p; now<L&&(now+=p);
      		for(now-=L-1; now<=n; now+=p)
      		{
      			LL pk=1;
      			while(!(A[now]%p)) A[now]/=p, pk*=p;
      			if(p==2) pk=1;
      			else if((p&3)==3) pk+=2*(pk-1)/(p-1);
      			f[now]*=pk;
      		}
      	}
      	for(int i=1; i<=n; ++i)
      	{
      		if((A[i]&3)==3) f[i]*=(A[i]+2);//本身/剩下為大質數 
      		else f[i]*=A[i];
      		ans+=((f[i]*6)^K)%mod;
      		ans>=LIM&&(ans%=mod);//取模! 
      	}
      	printf("%lld\n",ans%mod);
      }
      
      int main()
      {
      	Init(N-2);
      	for(int T=read(); T--; Solve());
      
      	return 0;
      }
      
      posted @ 2021-03-13 15:57  SovietPower  閱讀(222)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲蜜臀av乱码久久| 武装少女在线观看高清完整版免费 | 亚洲乱码av中文一区二区| 婷婷99视频精品全部在线观看| 日本中文字幕不卡在线一区二区 | 亚洲熟妇色自偷自拍另类| 亚洲 欧洲 自拍 偷拍 首页| 精品人妻午夜一区二区三区四区| 精品日韩亚洲av无码| 少妇伦子伦情品无吗| 久久久久高潮毛片免费全部播放| 亚洲av伦理一区二区| 又爆又大又粗又硬又黄的a片| 中文激情一区二区三区四区| 少妇扒开双腿自慰出白浆| 亚洲精品国产老熟女久久| 科技| 精品国产免费一区二区三区香蕉| 日韩精品一区二区三区不卡 | 国产不卡一区二区四区| 国产精品国产高清国产一区| 国产熟妇久久777777| 亚洲精品成人片在线观看精品字幕 | 青青草无码免费一二三区| 亚洲国产成人精品无色码| 97中文字幕在线观看| 日韩精品视频一二三四区| 日韩精品人妻av一区二区三区| 亚洲另类丝袜综合网| 免费无码观看的AV在线播放| 石渠县| 亚洲精品色哟哟一区二区| 亚洲精品国产免费av| 国产精品亚洲А∨怡红院| 日韩有码中文字幕av| 在线a人片免费观看| 精品人妻伦一二三区久久| 亚洲VA中文字幕无码久久| av激情亚洲男人的天堂| 国产精品99久久免费| 亚洲日韩国产精品第一页一区|