Educational Codeforces Round 158 (Rated for Div. 2) - VP记录
A. Line Trip
油量必须支持车子通过所有加油站间的空间,还要注意开回来的时候终点不能加油。
点击查看代码
#include<cstdio> #include<algorithm> using namespace std; const int N=55; int n,x,a[N]; int main() { int T; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&x); int ans=0; for(int i=1;i<=n;i++) { scanf("%d",&a[i]); ans=max(ans,a[i]-a[i-1]); } ans=max(ans,(x-a[n])<<1); printf("%d\n",ans); } return 0; }
B. Chip and Ribbon
每一对 \(a_{i-1}<a_i\) 都需要传送到 \(a_i\) 至少 \((a_i-a_{i-1})\) 次,注意开头不需要传送。
点击查看代码
#include<cstdio> #include<algorithm> using namespace std; const int N=2e5+5; int n,a[N]; int main() { int T; scanf("%d",&T); while(T--) { scanf("%d",&n); long long ans=0; for(int i=1;i<=n;i++) { scanf("%d",&a[i]); ans+=max(a[i]-a[i-1],0); } printf("%lld\n",ans-1); } return 0; }
C. Add, Divide and Floor
D. Yet Another Monster Fight
E. Compressed Tree
树上 DP,但是统计答案的时候是每一个点都可以是根的。
#include<cstdio> #include<vector> #include<algorithm> #include<functional> using namespace std; const int N=5e5+5; const long long INF=1e18; int n,a[N]; struct Allan{ int to,nxt; }edge[N<<1]; int head[N],idx; inline void add(int x,int y) { edge[++idx]={y,head[x]}; head[x]=idx; return; } long long f[N],ans; void DFS(int x,int fa=0) { vector<long long> son; f[x]=a[x]; ans=max(ans,(long long)a[x]); for(int i=head[x];i;i=edge[i].nxt) { int y=edge[i].to; if(y==fa) continue; DFS(y,x); son.push_back(f[y]); ans=max(ans,a[x]+f[y]); f[x]=max(f[x],f[y]); } sort(son.begin(),son.end(),greater<long long>()); if(son.size()>1) { long long sum=son[0]+son[1]; ans=max(ans,sum); for(int i=2;i<(int)son.size();i++) if(son[i]>0) sum+=son[i]; f[x]=max(f[x],a[x]+sum); } if(son.size()>2) { long long sum=son[0]+son[1]+son[2]; for(int i=3;i<(int)son.size();i++) if(son[i]>0) sum+=son[i]; ans=max(ans,a[x]+sum); } return; } int main() { int T; scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<n;i++) { int x,y; scanf("%d%d",&x,&y); add(x,y),add(y,x); } DFS(1); printf("%lld\n",ans); for(int i=1;i<=n;i++) head[i]=f[i]=a[i]=0; idx=ans=0; } return 0; }
本文采用 「CC-BY-NC 4.0」 创作共享协议,转载请注明作者及出处,禁止商业使用。
作者:Jerrycyx,原文链接:https://www.cnblogs.com/jerrycyx/p/18540316
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步