- 博客(20)
- 收藏
- 关注
原创 【C++算法】DFS深度优先、BFS广度优先—迷宫最短路径
本文对迷宫最短路径问题适用的算法进行简单分析,即分析求最短路径时选择DFS or BFS
2026-03-22 17:08:10
255
原创 【C++算法入门】动态规划/贪心算法—灯塔问题
本文讲述了在存在n个灯塔的情景下,给出能够点亮的灯塔。相邻灯塔无法被同时点亮。求最大的灯塔点亮个数。
2026-03-13 17:16:13
395
原创 【C++算法入门】动态规划-糖果问题
本文讲述了有n颗糖果,m种糖果包装,每种包装有糖果k颗(每包糖果种类可以重复)在此条件下求出尝试所有糖果所需要打开的最少包装。
2026-03-11 22:49:21
99
原创 【C++算法入门】动态规划—调手表问题
dp[0]=0,第一轮的情况:dp[1]=1,dp[3]=1,将其都进队;此时可以看到我们得到的dp[1]>1,小于我们原来得到的dp[1],故其不进队,dp[4]同理。我们利用队列的本质便是用队里的元素去更新外界元素找到最小值,试想如果将dp[1]赋值给2并进队,那么接下来得到的路径是不是要比dp[1]=1时都要大,所以不能进队。比如n=5,k=3。dp[0]我们赋值为0,那么dp[1]=1,dp=[3]=1,继续dp[2]=2,dp[4]=2,dp[4]=2,dp[1]=2。• 两个按钮:+1和+k。
2026-03-10 19:21:22
884
1
原创 【C++算法入门】动态规划—完全背包问题
可以知道完全背包不同于01背包,物品是无限的。01背包问题,在选择第i个物品之前,dp数组的状态是dp[i-1]。而完全背包既然是无限的,我们可以想到,选择了i物品后,依然可以再次选择。所以当我们决定选择这个物品是,总价值就是dp[i][j-w[i]]+v[i],而不是dp[i-1][j-w[i]]+v[i]。书接上文,继01背包之后的拓展。这篇文章分享了完全背包的解法心得。求在不超过背包容量的前提下,能装下的最大价值。第i件物品的体积是w[i],价值是v[i]有n件物品和一个容量为V的背包。
2026-03-06 14:05:41
104
1
原创 【C++ 算法入门】动态规划-01背包问题
对于刚接触算法的大学生来说,面对这道题大多无从下手,我想最好是暴力解法,对于n件物品无非两种选择(选/不选)考虑其时间复杂度---2的n次方。动态规划,在这题上的体现我认为是建立一个dp[i][j]i表示前i个物品,j表示背包容量,dp数组就是表示在背包容量为j的情况下,对前i个物品进行选择所得到的最大价值。大家好,我是一名正在学习c++和算法的大学生,这是我在CSDN的第一篇博客,是关于01背包的算法题。第 i 件物品的体积是 w[i],价值是 v[i]。求在不超过背包容量的前提下,能装下的最大总价值。
2026-03-05 16:03:50
324
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅