FarmCraft[POI2014]
题目描述
输入
输出
样例输入
- 6
- 1 8 9 6 3 2
- 1 3
- 2 3
- 3 4
- 4 5
- 4 6
样例输出
- 11
提示
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #include<algorithm>
- using namespace std;
- const int sj=;
- int n,c[sj],h[sj],e,a1,a2,f[sj],jg;
- int p[sj],fa[sj];
- struct B
- {
- int ne,v;
- }b[sj*];
- void add(int x,int y)
- {
- b[e].v=y;
- b[e].ne=h[x];
- h[x]=e++;
- }
- int bj(int x,int y)
- {
- return x>y?x:y;
- }
- struct D
- {
- int num,vl;
- }d[sj];
- int comp(const D&a,const D&b)
- {
- return a.vl>b.vl;
- }
- void dfs(int x,int ge)
- {
- int temp=ge,ww=;
- for(int i=h[x];i!=-;i=b[i].ne)
- if(b[i].v!=fa[x])
- {
- fa[b[i].v]=x;
- dfs(b[i].v,temp);
- f[x]+=f[b[i].v]+;
- d[temp].vl=p[b[i].v];
- d[temp].num=b[i].v;
- temp++;
- }
- p[x]=c[x]-f[x];
- if(p[x]<) p[x]=;
- sort(d+ge,d+temp,comp);
- for(int i=ge;i<temp;i++)
- {
- ww+=f[d[i].num];
- p[x]=bj(p[x],p[d[i].num]-(f[x]-ww));
- ww+=;
- }
- }
- void init()
- {
- scanf("%d",&n);
- memset(h,-,sizeof(h));
- for(int i=;i<=n;i++) scanf("%d",&c[i]);
- for(int i=;i<n;i++)
- {
- scanf("%d%d",&a1,&a2);
- add(a1,a2);
- add(a2,a1);
- }
- dfs(,);
- }
- int main()
- {
- init();
- jg=bj(c[],p[])+*n-;
- printf("%d",jg);
- return ;
- }
farmcraft
你应该超越自己,走得更远,登得更高,直至群星已在你脚下
FarmCraft[POI2014]的更多相关文章
- [补档][Poi2014]FarmCraft
[Poi2014]FarmCraft 题目 mhy住在一棵有n个点的树的1号结点上,每个结点上都有一个妹子. mhy从自己家出发,去给每一个妹子都送一台电脑,每个妹子拿到电脑后就会开始安装zhx牌杀毒 ...
- [BZOJ 3829][POI2014] FarmCraft
先贴一波题面... 3829: [Poi2014]FarmCraft Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 421 Solved: 197[ ...
- 【BZOJ3829】[Poi2014]FarmCraft 树形DP(贪心)
[BZOJ3829][Poi2014]FarmCraft Description In a village called Byteville, there are houses connected ...
- BZOJ3829[Poi2014]FarmCraft——树形DP+贪心
题目描述 In a village called Byteville, there are houses connected with N-1 roads. For each pair of ho ...
- 【bzoj3829】[Poi2014]FarmCraft 贪心
原文地址:http://www.cnblogs.com/GXZlegend/p/6826667.html 题目描述 In a village called Byteville, there are ...
- [POI2014][树形DP]FarmCraft
题目 In a village called Byteville, there are houses connected with N-1 roads. For each pair of houses ...
- BZOJ3829 : [Poi2014]FarmCraft
d[x]表示走完x的子树并回到x所需的时间 f[x]表示从走到x开始计时,x子树中最晚的点安装完的最早时间 d[x]=sum(d[i]+2),i是x的孩子 f[x]的计算比较复杂: 考虑将x的各棵子树 ...
- [Poi2014]FarmCraft 树状dp
对于每个点,处理出走完其子树所需要的时间和其子树完全下载完软件的时间 易证,对于每个点的所有子节点,一定优先选择差值大的来给后面的时间 树规+贪心. #include<cstdio> #i ...
- BZOJ3829 [Poi2014]FarmCraft 【树形dp】
题目链接 BZOJ3829 题解 设\(f[i]\)为从\(i\)父亲进入\(i\)之前开始计时,\(i\)的子树中最晚装好的时间 同时记\(siz[i]\)为节点\(i\)子树大小的两倍,即为从父亲 ...
随机推荐
- RabbitMQ~开篇与环境部署
想写这篇文章很久了,今天终于有时间总结一下,一个大型的系统里,消息中间件是必不可少的,它将并发环境处理的数据异步进行处理,有效的提高了系统的并发能力,有很多系统的瓶颈点都在于此,而消息中间件在这个时候 ...
- Haoop MapReduce 的Partition和reduce端的二次排序
先贴一张原理图(摘自hadoop权威指南第三版) 实际中看了半天还是不太理解其中的Partition,和reduce端的二次排序,最终根据实验来结果来验证自己的理解 1eg 数据如下 20140101 ...
- Sqlserver2005 破解版下载地址
Sqlserver2005 破解版下载地址:http://www.xiaidown.com/soft/from/1583.html
- SOD开源框架MSF(消息服务框架)介绍
前言:之前想做消息的广播,拖着就忘记了,现在拿了医生的框架来学习,就按实现了之前想实现的功能. 传送门http://www.cnblogs.com/bluedoctor/,框架的获取,按传送门的链接就 ...
- 简单的视频采集demo
打算做个简单的聊天软件,其中一个我没做过的,就是视频采集. 在网上查了许久资料,终于搞清楚了dshow采集视频的流程 参考资料如下: https://msdn.microsoft.com/en-us/ ...
- 【LeetCode】67. Add Binary
题目: Given two binary strings, return their sum (also a binary string). For example,a = "11" ...
- tcp/ip通信传输流
利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信,发送端从应用层往下走,接收端则往应用层方向走. 我们用HTTP进行举例 客户端在应用层发出想要看到某个web页面的http请求.HT ...
- java基础系列--Exception异常处理
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/7191280.html 1.概述 Java代码中的异常处理是非常重要的一环,从代码中可以看到 ...
- Java项目集成SAP BO
SAP BO报表查看需要登录SAP BO系统,为了方便公司希望将BO报表集成到OA系统中,所以参考网上资料加上与SAP BO的顾问咨询整理出一套通过Java来集成SAP BO的功能. SAPBO中的报 ...
- HashTable的故事----Jdk源码解读
HashTable的故事 很早之前,在讲HashMap的时候,我们就说过hash是散列,把...弄碎的意思.hashtable中的hash也是这个意思,而table呢,是指数据表格,也就是说hasht ...