【HNOI2014】米特运输
题面
题解
首先我们需要看懂题目
然后我们需要发现一个结论
只要有一个节点的权值确定,那么整棵树的权值就确定了
就像这样:(图片来源于网络,侵删)
然后我们根据这张图片,可以设\(f[i] = a[i] \cdot \prod_f \mathrm{son}[f]\)
其中\(f\)是\(i\)的祖先,\(\mathrm{son}[f]\)表示\(f\)的子节点的个数,\(a[i]\)表示\(i\)的权值
于是我们可以用显然法证明当\(f[i] = f[j]\)时,\(i\)和\(j\)的权值肯定在一种方案中都不用修改
于是算出最多有多少点的\(f\)值相等
然后你愉快地打了上去,oho了
\(f[]\)会爆long long
,于是考虑取对数就可以了
普及公式:\(\log_c a + \log_c b = \log_c (ab)\)
代码
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cctype>
#include<algorithm>
#define RG register
#define file(x) freopen(#x".in", "r", stdin), freopen(#x".out", "w", stdout)
#define clear(x, y) memset(x, y, sizeof(x))inline int read()
{int data = 0, w = 1; char ch = getchar();while(ch != '-' && (!isdigit(ch))) ch = getchar();if(ch == '-') w = -1, ch = getchar();while(isdigit(ch)) data = data * 10 + (ch ^ 48), ch = getchar();return data * w;
}const double eps(1e-8);
const int maxn(500010);
struct edge { int next, to; } e[maxn];
int head[maxn], e_num, n, a[maxn], deg[maxn];
double f[maxn];inline void add_edge(int from, int to)
{e[++e_num] = (edge) {head[from], to};head[from] = e_num;
}void dfs(int x, double s)
{f[x] = s + log(a[x]);for(RG int i = head[x]; i; i = e[i].next)dfs(e[i].to, s + log(deg[x]));
}int main()
{n = read();for(RG int i = 1; i <= n; i++) a[i] = read();for(RG int i = 1, a, b; i < n; i++)a = read(), b = read(), ++deg[a], add_edge(a, b);dfs(1, 0); std::sort(f + 1, f + n + 1); int ans = 1;for(RG int i = 2, cnt = 1; i <= n; i++){if(f[i] - f[i - 1] <= eps) ans = std::max(ans, ++cnt);else cnt = 1;}printf("%d\n", n - ans);return 0;
}
转载于:https://www.cnblogs.com/cj-xxz/p/10394313.html
【HNOI2014】米特运输相关推荐
- P3237 [HNOI2014]米特运输
P3237 [HNOI2014]米特运输 第104道题让我洛谷红名. (^ w ^) 题目描述 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存 ...
- 洛谷P3237 [HNOI2014]米特运输 题解
洛谷P3237 [HNOI2014]米特运输 题解 题目链接:P3237 [HNOI2014]米特运输 题意: 这题面是真的长啊 qwq 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为 ...
- BZOJ 3573 [HNOI2014]米特运输
题目链接:传送门 冗长冗长的题面: 3573:[HNOI2014]米特运输3573: [HNOI2014]米特运输3573:[HNOI2014]米特运输 Description 米特是D星球上一种非常 ...
- BZOJ3573:[HNOI2014]米特运输(树形DP)
Description 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储 存一直是一个大问题.D星上有N个城市,我们将其顺序编号为1到N,1号城市 ...
- BZOJ3573: [Hnoi2014]米特运输(树上乱搞)
Time Limit: 20 Sec Memory Limit: 128 MB Submit: 1669 Solved: 1031 [Submit][Status][Discuss] Descri ...
- [HNOI2014]米特运输
Description 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题.D星上有N个城市,我们将其顺序编号为1到N,1号城市为 ...
- 【bzoj3573】[Hnoi2014]米特运输
题目链接 Description 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题. D星上有N个城市,我们将其顺序编号为1到N ...
- 洛谷P3237 [HNOI2014]米特运输
题目描述 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题. D星上有N个城市,我们将其顺序编号为1到N,1号城市为首都.这N个 ...
- hnoi2014米特运输
思维题 略水 我们一定要用以偏概全的眼光做这道题... 一根节点说明一切 #include <cstdio> #include <cstring> #include < ...
- [HNOI 2014] 米特运输
[HNOI 2014] 米特运输 题目描述 题目 题目描述 输入格式 输出格式 样例输入 样例输出 提示 解题过程 思路 代码 感想 题目描述 一道树形dp 题目 题目描述 米特是D星球上一种非常神秘 ...
最新文章
- tensorflow tuner 调参,示例代码(jupyter notebook 版)
- 心得丨程序员们,AI来了,机会来了,危机也来了,我们该咋办?
- RHEL6基础之三RHEL官网获取ISO镜像
- UA MATH571A 一元线性回归I 模型设定与估计
- python链表的创建_python数据结构之链表的实例讲解
- 捋一捋js面向对象的继承问题
- 把可视化放到年终报告里,到底有多赞?
- JAVA虚拟机创建对象
- R 学习笔记《十一》 R语言初学者指南--图形工具(续)
- 机器学习实战(1)-文本分类
- 微信小程序 轮播图展示,图片全屏显示
- MFC中Ribbon界面关于按钮禁用
- Tomcat控制台中文乱码怎么处理[已解决 绝对好用]
- 13电路交换、报文交换、分组交换原理
- 我的人生哲学(三十六岁版)
- PAT (Basic Level) Practice (中文)1027 打印沙漏 (20 分)(C++)
- ios游戏比Android贵,为什么苹果商店充值比安卓的要贵?
- vim显示空格和tab符号
- 软件工程领域CCF B类会议:SANER介绍(以SANER 2019为例)
- JSP设置Excel表格换行_外企大公司的 Excel 表格,都是这样设置隐藏的
热门文章
- linux谁使用内存,linux内存不知被谁用了
- Python 猜数字游戏
- 学javascript看什么书?
- 其他转成十进制,十进制转其他进制
- JS !(非运算)详解
- #{}不自动改参数类型_我是干流动补胎的,想让我的柴油机气泵自动打气,怎么改装。谢谢。...
- 修改docx表格_实例29_在Word表格中将上下行相同内容的单元格自动合并
- 高斯滤波器是低通还是高通_经典模拟滤波器仍值得研究吗?
- 为了在简历上写掌握【Java虚拟机JVM】,做了该篇总结
- 梯度下降算法以及线性回归模型