JZOJ 3425. 能量获取
Posted zjzjzj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JZOJ 3425. 能量获取相关的知识,希望对你有一定的参考价值。
题目
分析
- 树形Dp
- 贪心都行
代码
1 #include<iostream> 2 using namespace std; 3 struct sb 4 5 int to,nx,w; 6 g[10001]; 7 int cnt,list[10001]; 8 void add(int x,int y,int w) 9 10 g[++cnt].to=y; g[cnt].nx=list[x]; g[cnt].w=w; list[x]=cnt; 11 12 long long ans; 13 int f[1001][1001],t[1001]; 14 void dfs(int x,int y) 15 16 for (int i=list[x];i;i=g[i].nx) 17 dfs(g[i].to,min(y,g[i].w)); 18 if (!x) 19 20 for (int i=list[x];i;i=g[i].nx) 21 ans+=f[g[i].to][g[i].w]; 22 return; 23 24 for (int i=t[x];i<=y;i++) 25 f[x][i]=1; 26 for (int i=list[x];i;i=g[i].nx) 27 for (int j=y;j+1;j--) 28 for (int k=0;k<=min(j,g[i].w);k++) 29 f[x][j]=max(f[x][j],f[x][j-k]+f[g[i].to][k]); 30 31 int main () 32 33 int n; 34 cin>>n; 35 for (int i=1,x,y;i<=n;i++) 36 37 cin>>x>>t[i]>>y; 38 add(x,i,y); 39 40 dfs(0,21321937); 41 cout<<ans; 42
以上是关于JZOJ 3425. 能量获取的主要内容,如果未能解决你的问题,请参考以下文章