CodeForces 295C Greg and Friends
bfs + dp 好题。 真好,比赛的时候想不出来,看题解的时候感觉好复杂…… 看完写的时候感觉非常流畅! 题意: 载人过岸,一艘船最大载重 k 已经给定。每个人的重量只会是50或者100。问最小的过岸次数与方案数。 思路: 老实说这个题目我可以看就知道是道搜索题,因为和那个什么东西(就是搜索入门的那个)来着非常像。 最重要的还是理清状态与思路。 以左岸50重人数,100重人数,船是否在左岸表示一个状态,对他进行 bfs ,只要满足船重量大于 0 并且小于等于最大 k,每次过岸花费 1 。第一个搜索到 最终状态的就是我们要求的结果。 而我们的方案数,只能通过dp来球,dp最讲求的就是状态, 转移方程如下: 如果是 左岸 — > 右岸 anum表示 50重总人数 , bnum 表示 100重 总人数 ( dp[x][y][0]…