金牌讲解!AtCoder-ABC416 真题直播解析报告
开心田螺
2025-07-29 00:01:04
0

AtCoder (ABC 416)于上周六晚上20:00进行,周日晚 19:00我们在B站进行了AtCoder Beginner Contest 416的题解直播讲解,以下为本次比赛真题直播解析报告。

AtCoder (ABC 417)将于本周六晚上20:00进行。本周日晚19:00我们将继续再在B站开始AtCoder Beginner Contest 417的题解直播讲解,同学们关注!

ABC416主讲老师:清华姚班 郑老师(NOI2022金牌)

欢迎加入ABC交流QQ群咨询、沟通、交流群密码:AtCoder

ABC416比赛真题讲解

题目列表:

题目地址:https://atcoder.jp/contests/abc416/tasks

ABC416题解及参考程序(文字版)

========================================

参考程序

A

#include usingnamespacestd; constint N= 105; intn,L,R; chars[N]; intmain{ scanf( "%d%d%d%s",&n,&L,&R,s); for( inti=L -1;i<=R -1;++i) if(s[i]!= 'o') { puts( "No"); return0; } puts( "Yes"); return0; }

B

#includeusingnamespacestd;constint N= 105; chars[N]; intmain{ scanf( "%s",s); intn= strlen(s); for( inti= 0;iif(s[i]== '.'&&(i== 0||s[i -1]== '#')) s[i]= 'o'; puts(s); return0;}

C

#includeusingnamespacestd;constint N= 15; intn,k,x; strings[N]; vector< string> ans; voiddfs( intu, stringnow){ if(u==k+ 1) { ans.push_back(now);return; }for( inti= 1;i<=n;++i) dfs(u+ 1,now+s[i]); }intmain{cin>>n>>k>>x;for( inti= 1;i<=n;++i) cin>>s[i];dfs( 1, string( "")); sort(ans.begin,ans.end);cout<-1]<return0;}

D

#includeusingnamespacestd;typedeflonglong ll;constint N= 3e5+ 5; intn,a[N],b[N],M; intmain{ ios:: sync_with_stdio( 0); intT; cin>>T; while(T--) { cin>>n>>M;for( inti= 1;i<=n;++i) cin>>a[i];for( inti= 1;i<=n;++i) cin>>b[i];sort(a+ 1,a+n+ 1); sort(b+ 1,b+n+ 1); ll ans= 0; for( inti= 1;i<=n;++i) ans+=a[i]+b[i];intpt=n+ 1,rest= 0; for( inti= 1;i<=n;++i) { while(pt> 1&&b[pt -1]+a[i]>=M) --pt,++rest;if(rest) --rest,ans-=M; }cout<}return0;}

E

#includeusingnamespacestd;typedeflonglong ll;constint N= 505; constll INF= 1e18; intn,m,k,q,T; ll G[N][N],f[N][N];boolvis[N]; intmain{ ios:: sync_with_stdio( 0); cin>>n>>m;for( inti= 1;i<=n;++i) for( intj= 1;j<=n;++j) G[i][j]=INF;for( inti= 1;i<=n;++i) G[i][i]= 0; for( inti= 1;i<=m;++i) { intu,v,w; cin>>u>>v>>w;G[u][v]= min(G[u][v],w+ 0ll); G[v][u]= min(G[v][u],w+ 0ll); }cin>>k>>T;for( inti= 1;i<=k;++i) { intx; cin>>x,vis[x]= 1; }cin>>q;

for( inti= 1;i<=n;++i) if(vis[i]) { for( intj=i+ 1;j<=n;++j) if(vis[j]) { G[i][j]= min(G[i][j],T+ 0ll); G[j][i]= min(G[j][i],T+ 0ll); }}for( inti= 1;i<=n;++i) for( intj= 1;j<=n;++j) f[i][j]=G[i][j];for( intk= 1;k<=n;++k) for( inti= 1;i<=n;++i) for( intj= 1;j<=n;++j) f[i][j]= min(f[i][j],f[i][k]+f[k][j]); //Floyd

while(q--) { intop,x,y,t; cin>>op;if(op== 3) { ll ans= 0; for( inti= 1;i<=n;++i) for( intj= 1;j<=n;++j) if(f[i][j]cout<continue; }cin>>x;if(op== 1) { cin>>y>>t;G[x][y]=G[y][x]= min(G[x][y],t+ 0ll); f[x][y]=f[y][x]= min(f[x][y],t+ 0ll); } else{ vis[x]= 1; for( inti= 1;i<=n;++i) if(vis[i]) { G[i][x]=G[x][i]= min(G[i][x],T+ 0ll); f[i][x]=f[x][i]= min(f[i][x],T+ 0ll); }} //update G and f

for( intk= 1;k<=n;++k) { for( inti= 1;i<=n;++i) f[i][x]= min(f[i][x],f[i][k]+f[k][x]); for( inti= 1;i<=n;++i) f[x][i]= min(f[x][i],f[x][k]+f[k][i]); }//simulate Floyd for k=1...n and (i=x or j=x)for( inti= 1;i<=n;++i) for( intj= 1;j<=n;++j) f[i][j]= min(f[i][j],f[i][x]+f[x][j]); //simulate Floyd for k=x (the last round)}return0;}

F

#includeusingnamespacestd;typedeflonglong ll;constint N= 2e5+ 5; constll INF= 1e18; intn,a[N],k; vector< int> G[N]; ll dp[N][ 10][ 3],tmp[ 10][ 3],f[N][ 10]; voiddfs( intu, intfa){ for( inti= 0;i<=k;++i) dp[u][i][ 0]=dp[u][i][ 1]=dp[u][i][ 2]=-INF; dp[u][ 0][ 0]= 0; dp[u][ 1][ 1]=a[u]; for( inti= 0;i<=k;++i) f[u][i]= max({dp[u][i][ 0],dp[u][i][ 1],dp[u][i][ 2]});

for( autov:G[u]) if(v!=fa) { dfs(v,u); for( inti= 0;i<=k;++i) tmp[i][ 0]=tmp[i][ 1]=tmp[i][ 2]=-INF; for( inti= 0;i<=k;++i) { for( intj= 0;j<=k;++j) { tmp[i+j][ 0]= max(tmp[i+j][ 0],dp[u][i][ 0]+f[v][j]); tmp[i+j][ 1]= max(tmp[i+j][ 1],dp[u][i][ 1]+f[v][j]); tmp[i+j][ 2]= max(tmp[i+j][ 2],dp[u][i][ 2]+f[v][j]); if(i+j<=k) tmp[i+j][ 1]= max(tmp[i+j][ 1], dp[u][i][ 0]+a[u]+dp[v][j][ 1]); if(i&&j&&i+j -1<=k) tmp[i+j -1][ 2]= max(tmp[i+j -1][ 2], dp[u][i][ 1]+dp[v][j][ 1]); }}memcpy(dp[u],tmp, sizeoftmp); for( inti= 0;i<=k;++i) f[u][i]= max({dp[u][i][ 0],dp[u][i][ 1],dp[u][i][ 2]}); }}intmain{ scanf( "%d%d",&n,&k); for( inti= 1;i<=n;++i) scanf( "%d",&a[i]); for( inti= 1;iintu,v; scanf( "%d%d",&u,&v); G[u]. push_back(v); G[v]. push_back(u); }dfs( 1, 0); ll ans= 0; for( inti= 0;i<=k;++i) ans= max({ans,dp[ 1][i][ 0],dp[ 1][i][ 1],dp[ 1][i][ 2]}); printf( "%lld\n",ans); return0;}

G

#includeusingnamespacestd;intn,k; string s[ 15]; intanscnt=- 1; string ans; vector tmp;stringqpow( intx,string a){ string z= ""; for( inti= 1;i<=x;++i) z+=a;returnz; } // a^xboolcmp( intcnt,string now){ if(anscnt==- 1) return1; if(cntreturnnow < qpow(anscnt-cnt,tmp[ 0]) + ans; } else{ returnqpow(cnt-anscnt,tmp[ 0]) + now < ans; }}// To express a string, we use an integer "cnt"anda string "now"// (cnt,now) represents (s[ 1])^cnt + now // cmp returns whether (cnt,now) < (anscnt,ans)voiddfs( intu, intsum,string now){ if( sum>k) { return; }if(u==tmp.size) { intcnt=k- sum; if(cmp(cnt,now)) { anscnt=cnt;ans=now;}return; }string res= ""; intmaxcnt=( 10+tmp[u].size- 1)/tmp[u].size; for( inti= 0;i<=maxcnt;++i) { dfs(u+ 1, sum+i,now+res); res+=tmp[u];}}intmain{ios::sync_with_stdio( 0); cin>>n>>k;for( inti= 1;i<=n;++i) { string str; cin>> str; intlen= str.size; if(s[ len].size) s[ len]= min(s[ len], str); elses[ len]= str; }sort(s+ 1,s+ 10+ 1,[](conststring &a,conststring &b) { if(a+b!=b+a) returna+breturna.size});intL= 11; for( inti= 1;i<= 10;++i) if(s[i]!= "") { if(s[i].sizeL=s[i].size;tmp.push_back(s[i]);}}dfs( 1, 0,string( "")); cout<0])+ans<return0;}

题库地址:https://atcoder.jp

针对每周六20:00举办的ABC比赛,我们每周日都会对比赛直播。

相关内容

热门资讯

文化诊断与提升:一份校园德育环... 当我们谈论校园德育,我们脑海中浮现的,是否依然是校规校纪的条文、升旗仪式上的训话、或是班主任苦口婆心...
河南省南阳市部分中学2025-... 一、现代文阅读 阅读下面的文字,完成下面小题。 学术会议与会者经常遭遇这般情景:报告人侃侃而谈,专业...
官方实力榜:活塞压雷霆居首火箭... 北京时间1月27日消息,NBA官方公布了最新一期球队实力榜。本期榜单,活塞队力压雷霆队升至榜首,火箭...
赋能校外教育课程开发 共探课程... 为赋能教师专业成长,全面提升校外课程开发能力,1月21日上午,我中心特邀常州市教育科学研究院林森博士...
2026春北京版四年级英语下册... 2026 春北京版四年级英语下册(北京出版社出版)以贴近学生生活的八大主题单元为脉络,融合兴趣爱好、...
“学历鄙视链”最底层的他们,其... @视觉中国 图 职校生经常会被简单地贴上“学历低”“成绩差”的标签,尽管他们在我国高中生、本专科学生...
特朗普称提高对韩国多种商品关税... 当地时间1月26日,美国总统特朗普在其社交平台“真实社交”发文表示,由于韩国国会未批准并落实此前与美...
划时代的意义:取消中考分流,打... 这个周末,一条来自浙江海岛小县的消息震惊全国家长:嵊泗县,宣布取消中考的选拔功能,普通高中不设分数线...
短视频里的满级小孩,把我看自卑... 作者:鲨鱼吉 编辑:奇妙 家人们,中午好。 老实说,我最近沉迷上网看10后小孩的视频。 不是海底捞吃...
2025中国留学生归国求职洞察 2025年留学生归国就业意愿增强,超半数选择回国发展,家庭因素、文化适应与国内发展机遇是主要动因。留...