P1006 [NOIP2008 提高组] 传纸条
分析:
此题可以用搜索但是判断两条路有没有重叠是有一点小麻烦的,本人直接切正解:DP
我们排两个哨兵从左上走到右下,两条路去探索。这样的话,dp应该是四维的,分别记录两个点的坐标:
f [ x 1 ] [ y 1 ] [ x 2 ] [ y 2 ] f[x1][y1][x2][y2] f[x1][y1][x2][y2] 存的是最大好感度
但我们又可以省一维。
因为两个指针的横纵坐标之和是一定的。因为每次只能向下或向右走,所以每次不是横坐标+1,就是纵坐标+1,也就是说对于每个哨兵,每次总是横纵坐标之和+1。因为他们都是从 ( 0 , 0 ) (0,0) (0,0)出发,所以他俩的和永远是相同的。假设这个和是p,我们只要知道其中两个点的横坐标,就能分别求出他们的纵坐标
y 1 = p − x 1 y1=p-x1 y1=p−x1
y 2 = p − x 2 y2=p-x2 y2=p−x2
所以四维DP可以优化成三维:
f [