- 9
- 0
- 约8.96千字
- 约 74页
- 2018-04-28 发布于湖北
- 举报
最新动态规划专题讲义.ppt
买车票 给定起点站和终点站还有 L1,L2,L3,C1,C2,C3,求出要从 起点到终点最少要花多少钱. 怎么办 * 买车票 当前所在的某个车站 这一题的以前状态其实只有3种.即满足3种距离(收费)情况的3个车站.要知道这3个车站可以先做一个预处理.显然这3个车站在满足距离限制的条件下应该越远越好. * 买车票 预处理 很容易想出一个N^2的预处理,但是那样是会超时的.由于尽量要让车站离得远(费用是一样的啊 )因此在每种收费情况下,每个车站的以前状态车站一定是递增的序列.这里是只要O(N)的程序: for j:=1 to 3 do begin k:=en-1; for i:=en downto be do begin while (way[i]-way[k]=l[j])and(k=be) do dec(k); p[i][j]:=k+1; end; end; 数组P[i][j]表示的是I状态的第j种以前状态. * 买车票 动态规划的部分 for i:=be+1 to en do {枚举当前状态} begin cost[i]:=maxlongint;
原创力文档

文档评论(0)