几道简单的树状DP
来源:互联网 发布:酷派手机网络连接不上 编辑:程序博客网 时间:2024/06/03 10:03
最近两天做了几题简单的树状DP,觉得简单树状DP只是应用了递归的思想,着重于把每个点作为根结点来思考。。。在对于某个点,可能要对其子树进行01背包或者组合什么的,然后得到这个点的什么信息,这样不断递归(往根结点递归,有时也会双向的)就推到根结点了。。。下面是做过的几题:
RQNOJ6 金明的预算 小明想买一些物品,而每个物品要么是主件,要么是附件(买附件一定得买主件),买了某件物品会得到一个happy值,求给一定的钱最大的happy值?
这题是背包九讲的第七讲,通过这后面还提到泛化物品的概念,根据附属关系,然后建树,f[i][j]表示以i为根结点(i必须买),在子树中花j钱获得的最大快乐值。hdu1561是一样的,下面是喵呜那题的核心代码。
pku3345 Bribing FIPA 选票,花一代价买通一个人可获得它及它所有后代的支持,求至少获得m个人支持所需最少代价?
f[i][j]表示以i为根的树,获得j人支持所需的最少代价。跟上题很相似。
pku3342 Party at Hali-Bula 求无直属上司(不会有环)最多有多少人能同时出席一个晚会?根据直属关系建树,然后f[i][0]表示i不出席晚会其子树中最多的出席人数,f[i][1]表示i出席晚会以其为根的树中最多的出席人数。结果就是max(f[0][0],f[0][1]).
pku1848 Tree 对一棵树加最少的边使得每个点只属于一个环。对于一棵树来说只能存在三种情况:要么所有结点都已只属于一个环,要么所有的子结点都已只属于一个环,要么除了根结点和一条路径(其余都已成环),这种情况可以跟别的树成环。所以用f[i][3]表示上述三种状态。注意两点成环不叫环。。。
pku3140Contestants Division 给一无向图(不是树),每点有一权值,将图一分为二,使得两部分的权值和相差最小。先用Tarjan缩点,f[i]表示以i为根结点的树的权值和,那么就是找最接近所有权值一半的树了。
一些链接:http://wenku.baidu.com/view/014564b069dc5022aaea00ba.html
http://www.cnblogs.com/crazyac/articles/1975734.html
21:33:51
- 几道简单的树状DP
- poj 几道简单的dp题
- HDU 4707 简单树状dp
- 树状数组模板及poj几道简单题
- 树状dp的闲扯....
- HDU 1520 Anniversary party 简单树状DP
- hdu 3030 树状数组 简单 DP
- POJ 1655 Balancing Act(简单树状DP)
- 简单的树状菜单
- 树状DP
- 树状DP
- 树状DP
- 几道概率dp
- 简单的js树状目录
- hdu1556 简单的树状数组
- hdu 2227 Find the nondecreasing subsequences 树状数组+简单DP
- zoj 3349 简单DP 线段树或树状数组优化
- 【tyvj1052】【树状dp】没有上司的舞会
- 【叶子函数分享五十一】在SQL SERVER中实现RSA加解密函数(第一版)
- Objective-C EXC_BAD_ACCESS
- 查看和设置MySQL数据库字符集
- win7 oracle 无法启动 OracleOraDb10g_home1TNSListener 服务 监听
- Myeclipse 导入项目出现问题
- 几道简单的树状DP
- 【叶子函数分享五十二】在SQL SERVER中实现RSA加解密函数(第二版)
- 错误Unable to start debugging. The Silverlight Developer Runtime is not installed. Please install a matching version
- 日记1
- 运用flex技术开发的网站
- 关于“变量名在批查询或存储过程内部必须唯一”的解决办法
- 我的生活
- PHPExcel 导出2003和2007的excel文档实例
- Qt串口通信专题教程