博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
例题9-12 UVa12186 Another Crisis(树型DP)
阅读量:6274 次
发布时间:2019-06-22

本文共 933 字,大约阅读时间需要 3 分钟。

题意:

看白书

要点:

白书上写的还是很清楚的,通过递归进行动态规划,vector还真是好用,暑假的时候学一下。

#include
#include
#include
#include
#include
#define maxn 100005using namespace std;int n, T;vector
son[maxn];int dp(int x){ if (son[x].empty()) return 1; int k = son[x].size(); vector
d; for (int i = 0; i < k; i++) d.push_back(dp(son[x][i]));//d表示x的子结点需要的工人签字数 sort(d.begin(), d.end()); int ans = 0; int c = (k*T-1)/100 + 1; //消除浮点误差 for (int i = 0; i < c; i++)//每次找它的前c个 ans += d[i]; return ans;}int main(){ int x; while (scanf("%d%d",&n,&T)==2) { if (n == 0 && T == 0) break; for (int i = 0; i <= maxn; i++)//每次都要清空vector数组 son[i].clear(); for (int i = 1; i <= n; i++) { scanf("%d", &x); son[x].push_back(i);//son[i]为结点i的子节点列表 } printf("%d\n", dp(0)); } return 0;}

转载于:https://www.cnblogs.com/seasonal/p/10343731.html

你可能感兴趣的文章
Ruby 1.9概要(5) 异常
查看>>
《网站性能监测与优化》一2.2 交易网站
查看>>
Ceph分布式存储学习指南1.5 Ceph块存储
查看>>
《Tableau 8权威指南》—— 1.1 Tableau是什么
查看>>
Python语言的创始人解释为什么Python数组的索引从0开始
查看>>
《Netty官方指南》把Netty当做一个通用的库
查看>>
sicp 2.3小结习题尝试解答
查看>>
Linux 性能诊断 perf使用指南
查看>>
实操分享:看看小白我如何第一次搭建阿里云windows服务器(Tomcat+Mysql)
查看>>
Sphinx 配置文件说明
查看>>
数据结构实践——顺序表应用
查看>>
python2.7 之centos7 安装 pip, Scrapy
查看>>
机智云开源框架初始化顺序
查看>>
Spark修炼之道(进阶篇)——Spark入门到精通:第五节 Spark编程模型(二)
查看>>
一线架构师实践指南:云时代下双活零切换的七大关键点
查看>>
ART世界探险(19) - 优化编译器的编译流程
查看>>
玩转Edas应用部署
查看>>
music-音符与常用记号
查看>>
sql操作命令
查看>>
zip 数据压缩
查看>>