uva-1427 Parade (单调队列优化dp)
来源:互联网 发布:软件测试作业 编辑:程序博客网 时间:2024/05/17 03:52
本文出自 http://blog.csdn.net/shuangde800
题目链接: uva-1427 hdu-2490 poj-3923
题意
F城由n+1个横向路和m+1个竖向路组成。你的任务是从最南边的路走到最北边的路,使得走过的路上的高兴值和最大(注意,一段路上的高兴值可以是负数)。同一段路不能经过两次,且不能从北往南走。另外,在每条横向路上所花的时间不能超过k。
思路
这题在uva和LA上又是不能评测, 于是在hdu和poj上评测了这题
这题状态比较容易想到, f(i, j)表示走到第i行第j点的最大价值
对于每一点,可以从下一行的走上来,也可以从左边走过来,也可以从右边走过来
设L(i, j)表示第i行从左边走到j点的最大价值,R(i, j)表示第i行从右边走过来的最大价值
可以得到, f(i, j) = max{ L(i,j), R(i, j), f(i+1, j) }
关键是要求L(i, j)和R(i, j)
sum(i, j)表示第i行的前j个路段价值之和
L(i, j) = max{ f(i+1, k) + sum(i, j) - sum(i, k) | 1<=k<=j && k走到j的总时间 <= k}
转换可以变成:
L(i, j) = max{ f(i+1, k) - sum(i, k)| 1<=k<=j && k走到j的总时间 <= k} + sum(i, j)
所以只要维护一个k,使得f(i+1, k) - sum(i, k)的值最大,这可以用单调队列来维护这个值
求R(i, j)的方法也可L一样
代码
- uva-1427 Parade (单调队列优化dp)
- uva 1427 - Parade(dp+单调队列)
- hdu Parade(单调队列优化 dp)
- 1427 - Parade (dp+单调队列)
- UVaLive 4327 | POJ 3926 - Parade (单调队列优化DP)
- POJ 3926 Parade 单调队列优化dp
- HDU2490 Parade 单调队列优化DP
- LA 4327 Parade (DP单调队列)
- uva 1427(单调队列优化dp)
- 【单调队列优化dp】Uvalive4327丨Poj3926 Parade
- Parade - UVa 1427 dp+优先队列
- uva 1169 - Robotruck (单调队列优化dp)
- UVA 1169 Robotruck 单调队列优化 DP
- UVA 1169 【单调队列优化dp】
- UVA 1427 Parade(dp)
- 单调队列优化DP
- 单调队列优化DP
- dp单调队列优化
- 在sae配置django项目
- dijkstra--poj1797
- struts2的配置
- adb server出现异常无法调试程序
- ExtJs4.0的 数据模型刨析(Anatomy of a model)
- uva-1427 Parade (单调队列优化dp)
- 高效求幂取余 算法,复杂度 log(n)
- ubuntu12.04创建程序的快捷方式
- 用Eclipse打包jar程序直接运行(1.源码)_hanCSDN_20130817
- Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
- ZOJ1001 A + B Problem
- CoreData NSPredicate 查询、搜索
- 前台jsp向后台java文件传递数据的方法
- JVM调优总结(十) -调优方法