UVa 12186 - Another Crisis(树形DP)
2015-07-26 16:16
375 查看
书上给出了思路和DP部分的代码,其他的就很简单了。
#include<cstdio> #include<vector> #include<algorithm> using namespace std; const int maxn=100010; int n,t; vector<int> sons[maxn]; int dp(int u){ if(sons[u].empty()) return 1; int k=(int)sons[u].size(); vector<int> d; for(int i=0;i<k;++i) d.push_back(dp(sons[u][i])); sort(d.begin(),d.end()); int c=(k*t-1)/100+1; int ans=0; for(int i=0;i<c;++i) ans+=d[i]; return ans; } int main(){ while(~scanf("%d%d",&n,&t)){ if(!n&&!t) break; for(int i=0;i<=n;++i) sons[i].clear(); for(int i=1;i<=n;++i){ int k; scanf("%d",&k); sons[k].push_back(i); } printf("%d\n",dp(0)); } return 0; }
相关文章推荐
- codevs 月赛1
- oracle 创建表性别字段取'男'或者'女',默认为'男'
- HDUOJ 1047(多个大数求和)
- 24 - 判断是否是二叉搜索树的后序遍历序列
- Python深入:编码问题总结
- ios沙箱路径的查看和使用
- 欢迎使用CSDN-markdown编辑器
- 网站服务架构
- linux设备驱动模型-浅析-转
- 字典树简介
- 数字之魅——寻找发帖水王
- MyBatis 的 resultMap
- 【峰回路转】Excel技巧百例 05.数值的阶梯性计算
- BCB中的TGroupBox---能用它就用吧
- 12864带字库显示的各种程序的总结
- C++学习,总结二(模拟鼠标键盘操作和进程之间的通信)
- [MAC] Mac OS X下快速复制文件路径的方法
- sass学习笔记
- 001--html
- Can Live View boot up images acquired from 64bit OS evidence?