![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 81
congCongcong.
一个在互联网瑟瑟发抖的大学生
展开
-
【Leetcode 877. 石子游戏】DP求解
题面: 亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 。 游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。 亚历克斯和李轮流进行,亚历克斯先开始。 每回合,玩家从行的开始或结束处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中石子最多的玩家获胜。 假设亚历克斯和李都发挥出最佳水平,当亚历克斯赢得比赛时返回 true ,当李赢得比赛时返回 false 。 在本题中,由于本题的博弈性质,可以直接先手必胜,所以答案必然为true 可以原创 2021-06-16 11:42:05 · 203 阅读 · 0 评论 -
【DP1】钢条分割详解
[DP] 原文再续,书接上一回,上一篇文章的背包讲的有点过于狭义了,我就某一类问题解释一种算法的思想:动态规划(Dynamic Programming)。简称DP。 我们在生活中不免会遇到一类问题,求什么什么的最大,什么什么的最小。在这类问题中,如果有算法基础的同学可能会知道贪心算法,但是贪心算法是无法在所有的情况下保证最优解的,而DP是可以的。 那么DP是什么?我们直接用一道题目来举例子去解释DP。 这里采用的例子引用自CLRS中的钢条分割问题。我只做一个概括性复述。有兴趣的同学可以去看看原著* (这里强原创 2020-11-20 19:50:58 · 1326 阅读 · 1 评论