日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

欢乐纪中A组赛【2019.8.18】

發布時間:2023/12/3 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 欢乐纪中A组赛【2019.8.18】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

有一個暴力寫掛了QVQQVQQVQ


成績

RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC
111111(J?3)LRZ(J-3)LRZ(J?3)LRZ140140140100100100303030101010
191919(J?3)WYC(J-3)WYC(J?3)WYC120120120100100100101010101010
262626(J?3)HZB(J-3)HZB(J?3)HZB100100100606060303030101010
262626(J?3)XJQ(J-3)XJQ(J?3)XJQ100100100100100100000000
393939(H?1)QYH(H-1)QYH(H?1)QYH909090202020707070000
393939(J?3)XXY(J-3)XXY(J?3)XXY909090606060303030000
474747(J?3)LW(J-3)LW(J?3)LW707070404040303030000
606060(H?2)HJW(H-2)HJW(H?2)HJW404040404040000000
606060(H?2)LZX(H-2)LZX(H?2)LZX404040404040000000
606060(H?2)TRX(H-2)TRX(H?2)TRX404040404040000000
606060(J?3)HJQ(J-3)HJQ(J?3)HJQ404040404040000000

正題


T1:jzoj6309?T1:jzoj6309-T1:jzoj6309?完全背包【貪心,,,背包】

鏈接:
https://blog.csdn.net/Mr_wuyongcong/article/details/99707673


T2:jzoj6308?T2:jzoj6308-T2:jzoj6308?中間值【分治】

鏈接:
https://blog.csdn.net/Mr_wuyongcong/article/details/99707694


T3:jzoj6306?SequenceT3:jzoj6306-SequenceT3:jzoj6306?Sequence【線性篩,,,積性函數,,,數論】

鏈接:
https://blog.csdn.net/Mr_wuyongcong/article/details/99707865


總結

不想寫,反正就是T1T1T1寫了貪心T2T2T2寫了暴力結果寫掛了T3T3T3寫了暴力10pts10pts10pts


SomeofcodeSome\ of\ codeSome?of?code


T210ptscodeT2\ 10pts\ codeT2?10pts?code

#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=510000; int n,m,a[N],b[N]; int calc(int *a,int w,int l,int r) {return (lower_bound(a+l,a+1+r,w)-a)-l;} int solve(int *a,int *b,int l1,int r1,int l2,int r2) {int l=l1,r=r1,k=(r1-l1+r2-l2+3)/2;while(l<=r){int mId=(l+r)/2;if(mId-l1+1+calc(b,a[mId],l2,r2)<k) l=mId+1;else r=mId-1;}if(l>r1) return 0;return a[l]*((l-l1+1+calc(b,a[l],l2,r2))==k); } int main() {freopen("median.in","r",stdin);freopen("median.out","w",stdout);scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%d",&a[i]);for(int i=1;i<=n;i++)scanf("%d",&b[i]);while(m--){int opt,x,y,l,r;scanf("%d%d%d%d",&opt,&x,&y,&l);if(opt==1){if(l) a[x]=y;else b[x]=y; }else{scanf("%d",&r);printf("%d\n",solve(a,b,x,y,l,r)|solve(b,a,l,r,x,y));}} }

T310ptscodeT3\ 10pts\ codeT3?10pts?code

#include<cstdio> #include<cstring> #include<algorithm> const int XJQ=998244353; int n,m,B,prime[5100000],cnt,ans; bool v[21000000]; using namespace std; int power(int x,int b) {int ans=1;while(b){if(b&1) ans=ans*x%XJQ;x=x*x%XJQ;b>>=1;}return ans; } void dfs(int dep,int sum,int e) {int i=1,k=0;if(dep>cnt){(ans+=power(sum,n))%=XJQ;return;}while(e*i<=m)dfs(dep+1,sum*(k+1),e*i),k++,i*=prime[dep]; } void solve(int x,int gcd) {if(x==n){(ans+=gcd)%=XJQ;return;}for(int i=1;i<=cnt;i++)solve(x+1,__gcd(gcd,prime[i])); } int main() {freopen("sequence.in","r",stdin);freopen("sequence.out","w",stdout);scanf("%d%d%d",&n,&m,&B);if(B==1){v[1]=1;for(int i=2;i<=m;i++){if(!v[i]) prime[++cnt]=i;for(int j=1;j<=cnt&&i*prime[j]<=m;j++){v[prime[j]*i]=1;if(!(i%prime[j])) break;}}memset(v,0,sizeof(v));dfs(1,1,1);printf("%d",ans);}else{do{cnt=0;for(int i=1;i*i<=m;i++){if(!(m%i)) prime[++cnt]=i;if(!(m%i)&&m/i!=i)prime[++cnt]=m/i;}solve(0,B);}while(m--);printf("%d",ans);} }

話說

今天牛客Rank1Rank1Rank1!!!!!!!!!(然而是一堆原題的水題賽)

總結

以上是生活随笔為你收集整理的欢乐纪中A组赛【2019.8.18】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。