树形DP(工人的请愿书,uva 12186)
2016-09-20 09:40
375 查看
#include<bits/stdc++.h> #define inf 0x3f3f3f3f using namespace std; int N,T; vector<int>MAP[100010]; int dp[100010]; void dfs(int u) { if(MAP[u].size()==0) { dp[u]=1; return; } vector<int>vec; for(unsigned int i=0;i<MAP[u].size();i++) { int v=MAP[u][i]; dfs(v); vec.push_back(dp[v]); } int num=0; while(num*100<T*int(MAP[u].size())) num++; sort(vec.begin(),vec.end()); dp[u]=0; for(int i=0;i<num;i++) dp[u]+=vec[i]; } int main() { while(scanf("%d %d",&N,&T),N||T) { for(int i=0;i<=N;i++) MAP[i].clear(); int f; for(int i=1;i<=N;i++) { scanf("%d",&f); MAP[f].push_back(i); } dfs(0); printf("%d\n",dp[0]); } return 0; }
相关文章推荐
- UVa 12186 工人的请愿书(树形DP)
- UVA 12186 Another Crisis 树形DP
- Another Crisis - UVa 12186 树形dp
- UVa - 12186 - Another Crisis ( 树形DP )
- UVA - 12186 Another Crisis (树形dp)
- UVa 12186 - Another Crisis(树形DP)
- UVA-12186 Another Crisis 树形dp
- 【树形DP】UVa 12186 Another Crisis
- 工人的请愿书 Another Crisis(UVa 12186)题解
- UVa 12186 Another Crisis(树形DP)
- UVa 12186 - Another Crisis(树形DP)
- UVA - 12186 Another Crisis (树形dp)
- uva 12186 lrj-P282 简单树形dp
- UVA - 12186 Another Crisis (树形DP)
- UVA 12186 - Another Crisis(树形DP)
- uva 12186 Another Crisis 树形dp
- UVA 12186 Another Crisis(树形DP)
- 树形dp uva 12186 Another Crisis
- UVA12186--- Another Crisis (树形dp)
- UVA 12186 Another Crisis(树形DP)