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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ssl提高组周四备考赛【2018.10.18】

發布時間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ssl提高组周四备考赛【2018.10.18】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

開始做四面八方扣來的題


成績

RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC
1112017zyc2017zyc2017zyc160160160707070303030606060
2222017wyc2017wyc2017wyc140140140808080101010505050
3332017lrz2017lrz2017lrz140140140404040100100100000
4442017xjq2017xjq2017xjq100100100707070303030000
5552017xxy2017xxy2017xxy100100100707070303030000
6662015gjh2015gjh2015gjh100100100000000100100100
7772017hjq2017hjq2017hjq707070404040303030000
8882017lw2017lw2017lw707070404040303030000
9992015yjy2015yjy2015yjy707070404040303030000
1010102015zyf2015zyf2015zyf707070404040000303030

正題


T1:nssl1194?T1:nssl1194-T1:nssl1194?春思【逆元,等比數列,約數】

更之前一道題一樣的:
https://blog.csdn.net/Mr_wuyongcong/article/details/82502158


T2:nssl1195?T2:nssl1195-T2:nssl1195?健美貓【?????????

博客鏈接:
https://blog.csdn.net/Mr_wuyongcong/article/details/83212915


T3:nssl1196?T3:nssl1196-T3:nssl1196?摘果子【樹形依賴背包,dp,dp,dp

博客鏈接:
https://blog.csdn.net/Mr_wuyongcong/article/details/83210493


someofcodesome\ of\ codesome?of?code


T1 80分code

#include<cstdio> #include<algorithm> #define mod 9901 #define ll long long using namespace std; ll pr[50],c[50],a,b,cnt,ans; void prime(ll a) {for(ll i=2;i*i<=a;i++){if(!(a%i)){pr[++cnt]=i;while(!(a%i)) c[cnt]++,a/=i;}}if(a!=1) pr[++cnt]=a,c[cnt]=1; } ll power(ll a,ll b) {ll ans=1;while(b){if(b&1) ans=(ans*a)%mod;a=(a*a)%mod;b>>=1;}return ans; } int main() {scanf("%lld%lld",&a,&b);prime(a);ans=1;for(ll i=1;i<=cnt;i++){ll inx=power(pr[i]-1,mod-2);if(!inx){ans=ans*((c[i]*b+1)%mod)%mod;continue;}ll k=(power(pr[i],c[i]*b+1)+mod-1)%mod*inx%mod;ans=ans*k%mod;}printf("%lld",ans); }

T2 10分code

#include<cstdio> #include<algorithm> #define N 2000010 using namespace std; int n,s[N*2],ans,sum; int main() {scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&s[i]),s[i+n]=s[i];ans=1;int i=2;while(i<=2*n){if(s[i]<s[ans]){ans=i;i++;continue;}if(s[i]>s[ans]){i++;continue;}int k=1;while(i+k<=2*n&&s[i+k]==s[ans+k]) k++;if(i+k>2*n) break;if(s[i]>s[i+k])ans=i+k;else if(s[ans+k]>s[i+k]) ans=i;i+=k+1;}for(i=ans;i<ans+n;i++)sum+=abs(s[i]-(i-ans+1));printf("%d",sum); }

T3 50分code

#include<cstdio> #include<algorithm> #define N 2010 using namespace std; struct node{int to,next; }a[N]; int n,m,v[N],p[N],ls[N],f[N][N],tot,x,y; void addl(int x,int y) {a[++tot].to=y;a[tot].next=ls[x];ls[x]=tot; } void dp(int x,int fa) {for(int i=ls[x];i;i=a[i].next){int y=a[i].to;if(y==fa) continue;dp(y,x);for(int j=m;j>=p[y];j--){for(int k=p[y];k<=j;k++)f[x][j]=max(f[x][j],f[x][j-k]+f[y][k]);}}for(int j=m;j>=p[x];j--)f[x][j]=f[x][j-p[x]]+v[x]; } int main() {scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%d%d",&v[i],&p[i]);for(int i=1;i<n;i++){scanf("%d%d",&x,&y);addl(x,y);addl(y,x);}dp(1,0);printf("%d",f[1][m]); }

尾聲

沒了

總結

以上是生活随笔為你收集整理的ssl提高组周四备考赛【2018.10.18】的全部內容,希望文章能夠幫你解決所遇到的問題。

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