树形dp - BNU 39572 Usoperanto
Usoperanto
Problem's Link
Mean:
给定n个单词,每个单词可以作为形容词来修饰其他单词.
如果当前单词Wi修饰Wj,那么这个修饰的代价是:Wi~Wj之间的单词的总长度.
你需要按照给定的修饰关系来安排单词的顺序,使得所有修饰代价的和最小.
analyse:
比赛时想到的是使用bfs+priority_queue来贪心,后来发现如果单词是嵌套的话,贪心就有问题.
首先根据修饰关系来构图,注意这里应该是森林而不是树,这也是本题的一个trick.
根结点不被任何结点修饰,叶结点不修饰任何结点.
建好图以后,对于每一棵树,从叶结点开始向上dp.
dp的策略:
对于当前结点,把他的所有儿子排序,然后按照前缀和累加权值(除最后一个).
然后把当前的结点所代表的子树打包(看成一个结点),累加子树的权值,往上传递.
Time complexity: O(N)
view code
转载于:https://www.cnblogs.com/crazyacking/p/4853663.html
树形dp - BNU 39572 Usoperanto相关推荐
- BNUOJ 52305 Around the World 树形dp
题目链接: https://www.bnuoj.com/v3/problem_show.php?pid=52305 Around the World Time Limit: 20000msMemory ...
- [树形dp] Jzoj P5233 概率博弈
Description 小A和小B在玩游戏.这个游戏是这样的: 有一棵n个点的以1为根的有根树,叶子有权值.假设有m个叶子,那么树上每个叶子的权值序列就是一个1->m 的排列. 一开始在1号点有 ...
- fwt优化+树形DP HDU 5909
1 //fwt优化+树形DP HDU 5909 2 //见官方题解 3 // BestCoder Round #88 http://bestcoder.hdu.edu.cn/ 4 5 #include ...
- BZOJ 1040 ZJOI2008 骑士 树形DP
题目大意:给定一个基环树林,每一个点上有权值,要求选择一个权值和最大的点集,要求点集中的随意两个点之间不能直接相连 最大点独立集--考虑到n<=100W,网络流铁定跑不了,于是我们考虑树形DP ...
- POJ 3342 树形DP+Hash
这是很久很久以前做的一道题,可惜当时WA了一页以后放弃了. 今天我又重新捡了起来.(哈哈1A了) 题意: 没有上司的舞会+判重 思路: hash一下+树形DP 题目中给的人名hash到数字,再进行运算 ...
- [NC15748]旅游 树形dp基础
菜鸡第一次接触树形dp这个东西,不过这个东西还是很好理解的(可能是因为模板题吧) 个人感觉,相比线性dp,树形dp的状态转移方程更加的直观,难点主要是在"树"的结构上比较麻烦. 题 ...
- 容斥 + 树形dp ---- 2021 icpc 沈阳 L Perfect Matchings
题目链接 题目大意: 就是给你一个2n2n2n个点的完全图,从这个图里面抽出2n−12n-12n−1条边,这些边形成一颗树,现在问你剩下的图里面点进行完美匹配有多少种方案? 解题思路: 一开始被完美匹 ...
- 树形dp ---- gym101667 A(贪心 + 树形dp + 两个dp方程组维护)
题目链接 题目大意: 就是一棵5e35e35e3的树,可以选择一些点,放上基站,如果uuu上的基站价值为ddd,那么距离uuu小于等于ddd的点都会被覆盖,问使得整棵树被覆盖需要的最小价值. 解题思路 ...
- 树形dp ---- 2018年杭电多校第二场 H travel
题目大意: 就是给你一个带点权的树,找到3条独立互不相交的路径使得权值和最大 解题思路: 很经典的树形dp 我们设dp[root][j][k]dp[root][j][k]dp[root][j][k]表 ...
最新文章
- 【MySQL】 日 常 整 理 记 录 分 享
- .NET中栈和堆的比较(二)
- PLSQL 之类型、变量和结构
- 响应式Web设计——最佳指南
- Spring4.0学习笔记(3) —— Spring_Bean之间的关系
- 耳机不分主从是什么意思_无延时音质好的蓝牙耳机能代替有线耳机吗—DOSS T60上手体验...
- 【报告分享】2022年快手新市井商业内循环营销通案:让企业经营走向确定性增长.pdf(附下载链接)...
- java keydown_键盘事件keydown、keypress、keyup随笔整理总结
- Atitit mybatis的扩展使用sql udf,js java等语言 目录 1.1. 默认,mybatis使用xml,sql等语言来书写业务流程	1 2. 使用java扩展函数	1 2.1.
- uniapp App权限配置
- 计算机系统崩溃重新装机,电脑系统崩溃无法开机如何进行重装系统
- .doc文件不显示word图标
- html 页面北京怎么设置,怎么给html设置背景色
- 杨国福和张亮“天地对决” 麻辣烫江湖要变天了吗?
- 积木报表VS睿思BI报表
- 周爱民:架构的实战过程
- 分析Android长按电源键事件并定制长按电源dialog
- MYSQL limt随着offset增大效率变低
- SAP PO中如何打印预览,找到Message type以及找到驱动程序和Form输出程序
- win10怎么设置护眼背景
热门文章
- 测试比java_Java11比Java8快多少,不是测试人员一眼也能看懂
- C 多态和java多态_C与java的多态机制与区别
- python编译exe运行慢_Python运行速度慢你知道这是为什么吗?
- php数据库缓存实现原理,PHP那些事:数据库缓存原理
- java string 精度_Java 中的浮点数取精度方法
- android接推流sdk,Android——直播推流SDK
- Oracle/PLSQL FETCH Statement
- vue单表table
- 修改联想笔记本键盘快捷键
- Python案例:获取天气信息并绘制气温折线图