A、方格取数
1、解题思路:首先会想到贪心的取,但是第一次取到最大值并不能让第二条路径取到最大值。
2、题目特性:当两个路径同时走的时候,相同的位置只会取到一次数,不相同的位置一定都可以取到。因为每条路径只能向下或右走,所以两天路径取到相同数的时候一定在同一点。
3、解法:考虑到这一点。题目就简单很多。同时搜索两条路径即可。但是同一个状态,我们只关心最优的取数。直接DP就可以做出。dp[x1,y1,x2,y2],这个dp可以优化,我们可以通过走过的步数,加上x推出,所在的位置y。
dp[x1,x2,step]显然x1可以来自x1-1,也可以来自x1。由此这个问题就解决了。时间复杂度是状态的数量,201010;
传纸条
1、首先这个题的麻烦之处,在于按照题目给的思路去想的话。需要记录传纸条的路径。避免下次传纸条时经过。搜索的时间复杂度是指数级别的根本无法通过。dp的话因为状态转移还有路径这一信息所以也十分难想。
2、这道题其实,不用按题目的思路从两个点开始查询最大值。因为我们从终点出发走向起点得到的结果也是一样的。让两个路径的起点都是从1,1开始那么这道题就和方格取数一样了。唯一的不同在于路径的转移。
旅行家的预算
贪心做法
20/9/29落谷刷题1
最新推荐文章于 2022-11-19 14:32:02 发布