Loading

上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 18 下一页
摘要: 题目描述 分析 这道题分析起来并不难。递推公式也能分析出来,但是我当时写的时候疑惑的一个问题就是:如何判断硬币组合的总额刚好等于需要的金额,因为这里的dp数组很明显是组成总金额所需的最少硬币个数。 我试着加了一个数组存储当前情况下的金额。但是想一下就知道这样太笨了。实现起来也特别困难。 首先看一下代 阅读全文
posted @ 2024-03-23 10:15 SaTsuki26681534 阅读(27) 评论(0) 推荐(0)
摘要: 题目描述 分析 按动态规划的分析步骤分析的话,代码是不难写出来的,但是写出来后你就会发现,结果不对,多出了很多组合: 解决方法: 什么都不用改,直接把两个循环调换即可。。 理解 如果把背包容量放外层,钱币放里层,则不同面值的钱币就是同时存在的,没有逻辑顺序,这样就会造成1 2 和2 1相互重复的情况 阅读全文
posted @ 2024-03-22 20:28 SaTsuki26681534 阅读(28) 评论(0) 推荐(0)
摘要: 题目描述 分析 所谓完全背包就是各种物品的数量为无限的情况,这种题其实想一下是比01背包简单的,因为没有了物品数量的限制,往背包里放物品的过程变得更简单直观了。 很容易得到,在完全背包里只能遍历背包容量,而不能遍历物品,因为这时物品是无限的,这样的话我们只需要一边循环,从dp[0]一直遍历到dp[V 阅读全文
posted @ 2024-03-21 00:08 SaTsuki26681534 阅读(35) 评论(0) 推荐(0)
摘要: 题目描述 注意,需要求的是岛屿的数量,而不是岛屿的总面积, 这道题很考验对dfs思路的理解,而不是简单地套用模版。 可以用dfs和bfs两种方法做。 深度优先搜索版本 首先看代码: class Solution { private: int dir[4][2] = {0, 1, 1, 0, -1, 阅读全文
posted @ 2024-03-20 21:10 SaTsuki26681534 阅读(73) 评论(0) 推荐(0)
摘要: 思路分析 先前已经做过一道深度优先搜索了,可以看出,DFS比较适合求两点之间的所有路径这样的问题,因为其路径都是逐条求出的,而BFS则可能一下子求出多条路径,适合用来求最短路径。 关于BFS的过程前面已经学习过很多次了,遍历到一个节点时要先保存其所有邻接节点再继续向下遍历,一般是使用一个队列来完成。 阅读全文
posted @ 2024-03-20 16:55 SaTsuki26681534 阅读(55) 评论(0) 推荐(0)
摘要: 首先了解一下深度优先搜索和回溯法的区别 可以看出这两种方法在思路上可以说没什么区别,但是由于在具体实现方面的区别,有着不同的应用场景。 我的理解是,回溯法很多时候是应用在抽象的枚举过程中的,而dfs算法很多时候是用在图或者树这种实际的几何图形中的。 比较一下回溯的模版和dfs的模版: dfs思路分析 阅读全文
posted @ 2024-03-20 11:57 SaTsuki26681534 阅读(37) 评论(0) 推荐(0)
摘要: 题目描述 分析 各种意义上都很难 的一道回溯题,首先按照回溯模版写就不是很简单,因为path需要在开头的地方加上JFK,另外,判断字典序优先度如果没有写过的话也很难一下子写出来。就算把这些写出来后,在规模比较大的判例上还是会超时或者超内存。 另外,超时或者超内存不一定是代码性能的问题,也可能是几张票 阅读全文
posted @ 2024-03-19 22:46 SaTsuki26681534 阅读(40) 评论(0) 推荐(0)
摘要: 题目描述 分析 其实分析起来并不陌生,找到这个集合的子集,并且是这个子集在0和1的个数不超限的前提下长度最大(含的字符串个数最多),但是新奇之处就在于这里有两个指标:0的个数和1的个数。 但是这题并不是多重背包,因为多重背包的情景是背包中有多重不同的物体,而这里背包里的物体只有一种,即01字符串,只 阅读全文
posted @ 2024-03-19 15:58 SaTsuki26681534 阅读(29) 评论(0) 推荐(0)
摘要: 题目描述 分析 首先容易想出,dp数组的含义应该是两个字符串的最长公共子序列长度。 当两个字符串中的任意一个长度为0时,对应的LCS为0 由于同时受到两个数组的影响,所以dp数组应该设置为二维数组, 并且有:dp[i][j]代表的是s1的0-i的子序列与s2的0-j的子序列的LCS 然后分析递推公式 阅读全文
posted @ 2024-03-15 22:30 SaTsuki26681534 阅读(24) 评论(0) 推荐(0)
摘要: 题目描述 分析 01背包的题做起来最难的是把原问题转化成01背包题,通常需要写出题目中所有的数学关系,对公式进行化简后得到01背包的类型。 在这种情景下还需要重新定义dp数组的含义 于是连带的。dp数组的递推公式也要重新想 大胆的按照五步骤结合题目分析的话其实并不是难到无迹可寻,而如果太死板的套用模 阅读全文
posted @ 2024-03-15 15:51 SaTsuki26681534 阅读(36) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 18 下一页