当前位置: 首页 > news >正文

P5521 梅深不见冬

邻项交换。
题目大意给定一个根为1的有根树,树上每个点有一个权值 \(v _i\),从根节点往下走,对于每个节点求一个 \(f_i\)
\(f_i\) 表示若需要在当前节点放下梅花,共需要多少朵。
限制是若要往父亲上放梅花需要保证每个儿子 \(v\) 上的梅花至少要放到 \(w_v\) 朵。而当你不需要一个节点的梅花时你可以立可回收。
可以发现由于有回收操作,\(f_u\) 的值应为在尽可能少地往下放梅花的过程中出现的最大值。
由于一个 \(f_u\) 只于其自身和其子树相关。所以考虑自底至上地求答案。首先对于一个节点 \(u\) 其答案至少为其儿子的权值之和。接着若不进行回收操作,每个儿子 \(v\) 的答案是 \(f_v\)\(f_u=\max{f_v}\)。然后因为有回收操作,所以到每个节点时刻出现的最大值的最小应为 \(f_v+\sum{w_p}\)\(p\) 的为 \(v\) 之前被遍历的点。
可以发现遍历顺序对于答案是有影响的。考虑有两个儿子 \(x,y\),由于它们前面的权值和是固定的,算完它们后的权值和也是固定的,所以交换它们的顺序只会影响遍历到它们的时刻的答案(感性理解邻项交换)。
而两个儿子有区别的部分分别是 \(w_x+f_y\)\(w_y+f_x\)。移项完就得到了排序的依据 \(f_x-w_x>f_y-w_y\)

#include<bits/stdc++.h>
#define ll long long
#define pii pair<int,int>
#define e_b emplace_back
#define p_b push_back
#define fir first
#define sec second
#define gc getchar
using namespace std;
#define ios ios::sync_with_stdio(0),cin.tie(0)
const int N=1e5+10;
int rd(){int x=0,f=1;char c=gc();while(c>'9'||c<'0'){if(c=='-')f=-1;c=gc();}while(c<='9'&&c>='0')x=x*10+c-'0',c=gc();return x;
}
int n,w[N],f[N];
vector<int>g[N];
bool cmp(int x,int y){return f[x]-w[x]>f[y]-w[y];}
void dfs(int p){f[p]=w[p];int pr=0;for(int x:g[p])dfs(x),f[p]+=w[x];sort(g[p].begin(),g[p].end(),cmp);for(int x:g[p]){f[p]=max(f[p],pr+f[x]);pr+=w[x];}
}
signed main(){ios;cin>>n;for(int i=2,fa;i<=n;i++){cin>>fa;g[fa].e_b(i);}for(int i=1;i<=n;i++)cin>>w[i];dfs(1);for(int i=1;i<=n;i++)cout<<f[i]<<' ';return 0;
}
http://www.jsqmd.com/news/379473/

相关文章:

  • 2010.1-2026.1中国城市二手房房价历史数据
  • 2026广东最新结婚五金/黄金厂商首选推荐水贝黄金广州总店:广州优选,这家品牌授权店以高性价比与专业服务脱颖而出 - 品牌推荐2026
  • MySQL慢查询优化:定位、分析与优化实战
  • P9446 [ICPC 2021 WF] Prehistoric Programs
  • 别再注册Gmail了!谷歌邮箱这个隐藏功能,让你一个账号当1000个小号用(附保姆级小白教程)
  • 细胞群体动力学仿真软件:CompuCell3D_(6).模拟参数配置与优化
  • Markdown 转 Word 和 PDF:Python 简单实现指南
  • 细胞群体动力学仿真软件:CompuCell3D_(7).细胞间相互作用模型
  • P3381 【模板】最小费用最大流
  • 细胞群体动力学仿真软件:CompuCell3D_(2).细胞建模基础理论
  • P14254 分割(divide)
  • P9358 [ICPC 2022 Xian R] Bridge
  • 2026年可查实盘配资平台推荐:合规透明安全 - 资讯焦点
  • Spring Cloud 熔断降级实战:Sentinel 熔断策略与规则持久化
  • blender导出fbx没有贴图问题
  • 2026年广州家具搬运公司评测推荐榜单:告别搬家烦恼的实用指南 - 品牌推荐
  • 2026年耐介质腐蚀防护布TOP10厂商推荐榜 - 资讯焦点
  • 临沂有实力的橡胶木板材公司推荐 - 品牌推荐(官方)
  • 2026年度成熟GEO服务公司TOP7综合实力榜:AI搜索时代企业增长与选型深度指南 - 资讯焦点
  • 临沂诚信的橡胶木板材生产厂家哪家好 - 品牌推荐(官方)
  • ContextMenuManager 配置右键运行 python 脚本实现一键克隆仓库 - Higurashi
  • 2026年广州家电搬运公司评测推荐榜单:告别搬运烦恼,轻松开启新生活 - 品牌推荐
  • 2026年广州汉米尔顿手表维修评测推荐:非官方维修点选择指南与网点服务深度分析 - 品牌推荐
  • 2026年广州家电搬运公司推荐评测:告别搬运烦恼,专业团队如何选择? - 品牌推荐
  • 手把手部署mysql_exporter:打通MySQL与Prometheus监控链路
  • 2026年广州积家手表维修推荐评测:非官方维修点排行榜与售后网点选择指南 - 品牌推荐
  • 2026年广州积家手表维修网点推荐评测:非官方服务中心选择指南与避坑分析 - 品牌推荐
  • 真实生产案例:一次错误索引设计如何引发 MySQL 写性能雪崩
  • 2026年可查实盘配资平台分析与推荐 - 资讯焦点
  • 2026广东最新结婚五金批发TOP5推荐:优质厂商权威榜单发布,品质服务双优适配,助力婚嫁选购 - 品牌推荐2026