Description
米特是D星球上一种非常神秘的物质,蕴含着巨大的能量。在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题。D星上有N个城市,我们将其顺序编号为1到N,1号城市为首都。这N个城市由N-1条单向高速通道连接起来,构成一棵以1号城市(首部)为根的树,高速通道的方向由树中的儿子指向父亲。树按深度分层:根结点深度为0,属于第1层;根结点的子节点深度为1,属于第2层;依此类推,深度为i的结点属于第i+l层。建好高速通道之后,D星人开始考虑如何具体地储存和传输米特资源。由于发展程度不同,每个城市储存米特的能力不尽相同,其中第i个城市建有一个容量为A[i]的米特储存器。这个米特储存器除了具有储存的功能,还具有自动收集米特的能力。如果到了晚上六点,有某个储存器处于未满的状态,它就会自动收集大气中蕴含的米特能源,在早上六点之前就能收集满;但是,只有在储存器完全空的状态下启动自动收集程序才是安全的,未满而又非空时启动可能有安全隐患。早上六点到七点间,根节点城市(1号城市)会将其储存器里的米特消耗殆尽。根节点不会自动搜集米特,它只接受子节点传输来的米特。早上七点,城市之间启动米特传输过程,传输过程逐层递进:先是第2层节点城市向第1层(根节点城市,即1号城市)传输,直到第1层的储存器满或第2层的储存器全为空;然后是第3层向第2层传输,直到对于第2层的每个节点,其储存器满或其予节点(位于第3层)的储存器全为空;依此类推,直到最后一层传输完成。传输过程一定会在晚上六点前完成。由于技术原因,运输方案需要满足以下条件:

  • 不能让某个储存器到了晚上六点传输结束时还处于非空但又未满的状态,这个时候储存器仍然会启动自动收集米特的程序,而给已经储存有米特的储存器启动收集程序可能导致危险,也就是说要让储存器到了晚上六点时要么空要么满;
  • 关于首都——即1号城市的特殊情况, 每天早上六点到七点间1号城市中的米特储存器里的米特会自动被消耗殆尽,即运输方案不需要考虑首都的米特怎么运走;
  • 除了1号城市,每个节点必须在其子节点城市向它运输米特之前将这座城市的米特储存器中原本存有的米特全部运出去给父节点,不允许储存器中残存的米特与外来的米特发生混合;
  • 运向某一个城市的若干个来源的米特数量必须完全相同,不然,这些来源不同的米特按不同比例混合之后可能发生危险。

现在D星人已经建立好高速通道,每个城市也有了一定储存容量的米特储存器。为了满足上面的限制条件,可能需要重建一些城市中的米特储存器。你可以,也只能,将某一座城市(包括首都)中原来存在的米特储存器摧毁,再新建一座任意容量的新的米特储存器,其容量可以是小数(在输入数据中,储存器原始容量是正整数,但重建后可以是小数),不能是负数或零,使得需要被重建的米特储存器的数目尽量少。

Input
第一行是一个正整数N,表示城市的数目。
接下来N行,每行一个正整数,其中的第i行表示第i个城市原来存在的米特储存器的容量。
再接下来是N-I行,每行两个正整数a,b表示城市b到城市a有一条高速通道(a≠b)。
N<500000,A[j]<10^8

Output
输出文件仅包含一行,一个整数,表示最少的被重建(即修改储存器容量)的米特储存器的数目。

Sample Input
5
5
4
3
2
1
1 2
1 3
2 4
2 5

Sample Output
3


阅读题nb

给定一棵树,请你改变一些点的点权,使得一个节点的所有儿子节点权值相同,并且所有儿子节点的权值和为自己

当任意一个点权值确定后,整棵树的权值就全部都确定了,我们考虑从根节点出发,记\(f[i]\)表示\(i\)的权值为\(v[i]\)时,根的权值。直接记权值不太方便转移,我们更改一下,\(f[i]\)记录系数,也就是记录\(i\)的权值为\(v[i]\)时,根的权值是\(f[i]\times v[i]\)

转移即为\(f[v]=f[u]\times(d[u]-[u!=1])\),其中\(u\rightarrow v\)且\(d[u]\)表示\(u\)的度数,然后我们记\(g[i]=f[i]\times v[i]\),对\(g\)排序,\(g[i]=g[j]\)则说明\(i,j\)可以同时满足条件,于是我们取相同值最多的,其他的都是需要更改的

由于一路乘下来可能会爆long long,所以可以写高精度,或者我们取个log,转化为加法即可(注意精度)

/*program from Wolfycz*/
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define inf 0x7f7f7f7f
using namespace std;
typedef long long ll;
typedef unsigned int ui;
typedef unsigned long long ull;
inline char gc(){static char buf[1000000],*p1=buf,*p2=buf;return p1==p2&&(p2=(p1=buf)+fread(buf,1,1000000,stdin),p1==p2)?EOF:*p1++;
}
inline int frd(){int x=0,f=1; char ch=gc();for (;ch<'0'||ch>'9';ch=gc())   if (ch=='-')    f=-1;for (;ch>='0'&&ch<='9';ch=gc()) x=(x<<3)+(x<<1)+ch-'0';return x*f;
}
inline int read(){int x=0,f=1; char ch=getchar();for (;ch<'0'||ch>'9';ch=getchar())  if (ch=='-')    f=-1;for (;ch>='0'&&ch<='9';ch=getchar())    x=(x<<3)+(x<<1)+ch-'0';return x*f;
}
inline void print(int x){if (x<0)    putchar('-'),x=-x;if (x>9)    print(x/10);putchar(x%10+'0');
}
const double eps=1e-8;
const int N=5e5;
int pre[(N<<1)+10],now[N+10],child[(N<<1)+10],tot;
int d[N+10];
double f[N+10];
void join(int x,int y){pre[++tot]=now[x],now[x]=tot,child[tot]=y;}
void insert(int x,int y){join(x,y),join(y,x);}
void dfs(int x,int fa,double v){f[x]+=v;for (int p=now[x],son=child[p];p;p=pre[p],son=child[p]){if (son==fa)    continue;dfs(son,x,v+log(d[x]-1+(x==1)));}
}
int main(){int n=read();for (int i=1;i<=n;i++)  f[i]=log(read());for (int i=1;i<n;i++){int x=read(),y=read();insert(x,y);d[x]++,d[y]++;}dfs(1,0,0);sort(f+1,f+1+n);int Ans=0,res=0;for (int i=1;i<=n;i++)  fabs(f[i]-f[i-1])>eps?Ans=max(Ans,res),res=1:res++;printf("%d\n",n-Ans);return 0;
}

转载于:https://www.cnblogs.com/Wolfycz/p/10253685.html

[HNOI2014]米特运输相关推荐

  1. P3237 [HNOI2014]米特运输

    P3237 [HNOI2014]米特运输 第104道题让我洛谷红名. (^ w ^) 题目描述 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存 ...

  2. 洛谷P3237 [HNOI2014]米特运输 题解

    洛谷P3237 [HNOI2014]米特运输 题解 题目链接:P3237 [HNOI2014]米特运输 题意: 这题面是真的长啊 qwq 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为 ...

  3. BZOJ 3573 [HNOI2014]米特运输

    题目链接:传送门 冗长冗长的题面: 3573:[HNOI2014]米特运输3573: [HNOI2014]米特运输3573:[HNOI2014]米特运输 Description 米特是D星球上一种非常 ...

  4. BZOJ3573:[HNOI2014]米特运输(树形DP)

    Description 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储 存一直是一个大问题.D星上有N个城市,我们将其顺序编号为1到N,1号城市 ...

  5. BZOJ3573: [Hnoi2014]米特运输(树上乱搞)

    Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 1669  Solved: 1031 [Submit][Status][Discuss] Descri ...

  6. 【bzoj3573】[Hnoi2014]米特运输

    题目链接 Description 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题. D星上有N个城市,我们将其顺序编号为1到N ...

  7. 洛谷P3237 [HNOI2014]米特运输

    题目描述 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题. D星上有N个城市,我们将其顺序编号为1到N,1号城市为首都.这N个 ...

  8. hnoi2014米特运输

    思维题  略水 我们一定要用以偏概全的眼光做这道题... 一根节点说明一切 #include <cstdio> #include <cstring> #include < ...

  9. [HNOI 2014] 米特运输

    [HNOI 2014] 米特运输 题目描述 题目 题目描述 输入格式 输出格式 样例输入 样例输出 提示 解题过程 思路 代码 感想 题目描述 一道树形dp 题目 题目描述 米特是D星球上一种非常神秘 ...

最新文章

  1. 大脑也在强化学习!加州大学提出「价值决策」被大脑高效编码,登Neuron顶刊...
  2. 电子小帮手电路中的设计原理
  3. matlab循环矩阵
  4. 大话网站---从Hello World到高并发网站
  5. mysql模板标签数据库设计_MySQL数据库规范化设计
  6. 机器学习模型 非线性模型_机器学习:通过预测菲亚特500的价格来观察线性模型的工作原理...
  7. Socket编程实践(4) --多进程并发server
  8. 4g内存只有1.6g可用_linux服务器内存异常,究竟在哪消耗了2.5G?
  9. const变量生存周期_CTM期刊 |神经胶质瘤中HOTAIREZH2抑制剂AQB能上调CWF19L1并促进CDK4/6抑制剂帕博西尼对细胞周期的抑制...
  10. 39岁阿里P9失业了,总资产1.5亿……
  11. 在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
  12. proxy ip 收集方式总结
  13. 电脑qq语音连不到服务器,电脑问题:qq语音正常?
  14. 08-05-09pe_xscan 增加IE版本检测
  15. t3软件怎么生成报表_用友T3怎么生成财务报表-
  16. 20年研发管理经验谈(二)
  17. 三角形面积的叉积公式
  18. 配天机器人——使用笔记
  19. 电脑远程连接打印机打印
  20. python怎么打开h5文件_python怎么查看h5文件-问答-阿里云开发者社区-阿里云

热门文章

  1. sr550服务器配置硬盘,【联想SR550配置】联想SR5502颗服务器配置-ZOL中关村在线
  2. 通过okHttpUtils实现文件的上传下载
  3. Unknown custom element: <el-divider> - did you register the component correctly? For recursive compo
  4. 大二Web课程设计:服装网页设计题材——HTML+CSS汉服文化带背景音乐素材带视频(12页)
  5. 互联网赚钱的项目有哪些?6个互联网赚钱模式
  6. 旧上海老大杜月笙语录
  7. 迟到的 2019 年个人总结
  8. 华为畅享10s值得买吗_华为畅享10s多少钱?值得入手么?
  9. wingide5-forlinux cracked
  10. 服务器主板cpld芯片作用,CPLD的工作原理是什么呢?