uva 12186 lrj-P282 简单树形dp
来源:互联网 发布:命令与征服 将军 知乎 编辑:程序博客网 时间:2024/06/03 19:09
题意:
某个人签字的话,他的直属下属里必须有至少T%的人签字,问让老板签字最少需要多少工人签字
题解:
树形dp
以老板为根节点,从小往上,递归计算答案即可
#include<vector>#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define maxn 100005int a,n,T;vector<int>sons[maxn];int dfs(int u){ if(sons[u].empty()) return 1; int k=sons[u].size(); vector<int>dp; for(int i=0;i<k;i++) dp.push_back(dfs(sons[u][i])); sort(dp.begin(),dp.end()); int c=(k*T-1)/100.0+1,ans=0; for(int i=0;i<c;i++) ans+=dp[i]; return ans;}int main(){ freopen("in.txt","r",stdin); while(scanf("%d%d",&n,&T),n+T!=0) { for(int i=0;i<=n;i++) sons[i].clear(); for(int i=1;i<=n;i++) scanf("%d",&a),sons[a].push_back(i); int ans=dfs(0); printf("%d\n",ans); } return 0;}
阅读全文
0 0
- uva 12186 lrj-P282 简单树形dp
- uva 1220 lrj-P282 最大独立集(树形dp)
- 紫书动规 P282的问题 hdu2196 树形dp
- UVA 12186(p282)----Another Crisis
- uva 10003 lrj-P278 区间dp入门
- Uva-1626 lrj-P278 区间dp
- uva 1331 lrj-P279 三角剖分+区间dp
- uva 1630 lrj-P305 字符串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)
- uva 12186 Another Crisis 树形dp
- UVa 12186 - Another Crisis(树形DP)
- UVA - 12186 Another Crisis 水树形dp
- UVA 12186 Another Crisis [树形dp]
- 基于百度地图公交线路算法实现
- POJ 2411 状态压缩DP
- IOT 网关(+终端)
- HDU 6107 Typesetting(ST)
- IIC、SPI、UART的区别与联系
- uva 12186 lrj-P282 简单树形dp
- 开博感言
- Java Web自学路线指南
- response内置对象
- 常用js
- pat 乙级 1043. 输出PATest(20)
- Linux文件系统层次结构标准FHS详解
- 最大公约数和最小公倍数
- java语言基础(86)——序列化流和反序列化流