http://www.lydsy.com/JudgeOnline/problem.php?id=3573 (题目链接)

题意

  题意是这道题最大的难点→_→

Solution

  沙茶树形dp,考虑一定会存在一个节点的权值没有改变,枚举这个点,然后算算根节点的权值要变成多少,对于两个不同的节点,如果它们所对应的根节点的权值相同,那么这两个节点可以不改。可能根节点的权值会很大,我们取对数,hash统计答案。

代码

// bzoj3573
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<cmath>
#define LL long long
#define HAS 1000007
#define inf (1ll<<60)
#define eps 1e-7
#define Pi acos(-1.0)
#define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
using namespace std;const int maxn=500010;
LL r[maxn],a[maxn];
int head[maxn],h[HAS],n,ans,cnt;
struct edge {int to,next;}e[maxn];
struct hash {double w;int cnt,next;}has[maxn];bool equal(double a,double b) {return fabs(a-b)<eps;
}
int push(LL id,double w) {for (int i=h[id];i;i=has[i].next)if (equal(has[i].w,w)) return ++has[i].cnt;has[++cnt]=(hash){w,1,h[id]};h[id]=cnt;return 1;
}
void link(int u,int v) {e[++cnt]=(edge){v,head[u]};head[u]=cnt;
}
void dfs(int x,double w,LL c) {ans=max(ans,push(c*a[x]%HAS,w+log(a[x])));for (int i=head[x];i;i=e[i].next)dfs(e[i].to,w+log(r[x]),c*r[x]%HAS);
}
int main() {scanf("%d",&n);for (int i=1;i<=n;i++) scanf("%lld",&a[i]);for (int u,v,i=1;i<n;i++) {scanf("%d%d",&u,&v);link(u,v);r[u]++;}cnt=0;dfs(1,0,1);printf("%d",n-ans);return 0;
}

转载于:https://www.cnblogs.com/MashiroSky/p/6438741.html

【bzoj3573】 Hnoi2014—米特运输相关推荐

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

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

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

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

  3. P3237 [HNOI2014]米特运输

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

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

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

  5. BZOJ 3573 [HNOI2014]米特运输

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

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

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

  7. [HNOI2014]米特运输

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

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

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

  9. hnoi2014米特运输

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

  10. [HNOI 2014] 米特运输

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

最新文章

  1. MySQL留言板怎么创建_如何使用JSP+MySQL创建留言本(三)
  2. python编写自定义模块_python 自定义Server酱模块编写
  3. php7 v8js,Centos 7PHP7.0 安装V8JS扩展几乎都能安装成功
  4. c#读取xml中特定节点的值(实例)
  5. python3字典升序排序_Python(32)常用指引:排序指南
  6. linux svn 常用命令
  7. 17_android下xmlpull解析
  8. 18.9.22 考试总结
  9. Java基础--序列化和反序列化
  10. 对Photoshop高斯模糊滤镜的算法总结
  11. mysql各种key_SQL中的各种键
  12. java上传图片裁剪_浅谈java图片上传之剪切
  13. 机器学习:使用梯度下降实现逻辑回归求解多元分类问题的原理
  14. C语言课后练习题第二章
  15. 编程珠玑续版-chp2 关联数组-awk
  16. 页号P与页内偏移地址W的计算
  17. SPSS——线性回归
  18. 新年集五福将,免费合成烤仔 “守护神兔” 典藏版 POAP 藏品!快来快来!
  19. my read law / notarization / gongzheng
  20. 4、spss做多元线性回归

热门文章

  1. 编译OpenJDK12:atomic.hpp: fatal error C1189: size_t is not WORD_SIZE(换了VS2017编译)
  2. 包装应由厂家回收利用
  3. 放生切勿盲目,放生动物要有选择
  4. 管理感悟:图省事就是把别人当白痴
  5. python从入门到_python从入门到项目实践 (明日科技) 配套视频教程+源码
  6. c语言正则表达式替换,Linux C 支持正则表达式的字符串替换函数...
  7. pclint如何不检查头文件_衡水中学优秀班主任:考试时如何检查,才能不丢分?3个技巧...
  8. 自学c语言每天一小时,昨天学习C语言第五天, 自学失败的一天
  9. geany怎么创建文件夹_在visual studio中创建win32应用程序
  10. python 二分查找法