LA4015,论DP中顺序的重要性
来源:互联网 发布:汽车模型设计软件catia 编辑:程序博客网 时间:2024/04/29 07:46
题目链接:http://vjudge.net/problem/UVALive-4015
树形DP,设f[u,i]为从u出发,遍历了i个点(包括u自身)的最短距离,g[u,i]表示从u出发,遍历了i个点(不包括u自身)的最短距离。
记x到y的距离为dis[x,y]
状态转移方程:
f[x,i]:=min(f[x,i-j]+f[y,j]+dis[x,y]*2)(y是x的儿子)
g[x,i]:=min(f[x,i-j]+g[e[p].go,j]+e[p].dis,f[e[p].go,j]+g[x,i-j]+e[p].dis shl 1)(y是x的儿子)
两个要点
1.注意顺序:一定要类似于0/1背包的顺序,否则例如将某棵子树的值使用两次,就像0/1背包中物品使用两次一样。
2.下标与值的翻转:0/1背包中下标是容量,值是答案;在这里因为边权的范围远大于点的个数,所以要反一下,否则mle+tle.
代码(pascal):http://paste.ubuntu.com/23446074/
0 0
- LA4015,论DP中顺序的重要性
- 【LA4015】Caves【Tree DP】
- Where条件中字段顺序的重要性
- LA4015
- mysql中Where条件中字段顺序的重要性
- mysql中Where条件中字段顺序的重要性
- mysql中Where条件中字段顺序的重要性
- 论互联网中“文笔”的重要性
- 论Python中缩进的重要性
- la4015 树形dp(状态设计)(不会)
- 基础sql语句执行顺序的重要性
- 工作中沟通的重要性
- 方案中画图的重要性
- 软件中算法的重要性
- Canvas中beginPath的重要性
- IO 中 close()的重要性
- JavaScript中var的重要性
- makefile中PHONY的重要性
- arm-linux-gnueabihf编译器在ubuntu环境下交叉编译opencv2.4.10
- Linux系统命令及其详解1
- contentprovider怎么监听某一行数据
- 嵌入式系统2
- Flume学习进阶(一):source、channel、sink、processor、interceptor等组件列表说明及包含的类型介绍
- LA4015,论DP中顺序的重要性
- Activity之间通过Intent传递对象
- 2016/11/7学习工作日志
- lucene全文搜索之一:lucene的主要功能和基本结构(基于lucene5.5.3)
- 机器学习之神经网络
- JQuery读取Json文件
- loadrunner Error -27257: Pending web_reg_save_param/reg_find/create_html_param[_ex]
- 工作中的小哲学,事业的好推手
- codeblocks快捷键及常用设置