• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

标签:dynamic-programming

dynamic-programming

用特殊步长规则求和的DP问题

用特殊步长规则求和的DP问题
我被困在尝试解决此DP问题。 您有多个城市,每个城市都有出售柠檬的数量。您可以跳过S或S+1城市。 S始终从1开始,您始终可以在开头开始S+1。您正在尝试找到可以买到的最多的柠檬。 例如, 输入: 1 2 2 4 5 8 3 15 1 输出: 23 您访问城市0、2和4,然后决定一次跳过两个城市,最后访问城市7。 我是DP概念的初学者,想知道如何解决……继续阅读 »

c/c++

查找最窄间隔的算法,其中m将覆盖一组数字

查找最窄间隔的算法,其中m将覆盖一组数字
假设您有一个 n 数字列表。您可以选择和整数(让整数称为)。对于每个整数和,删除包含范围内的每个数字[ a-x,a + x ],其中 x 是一个数字。可以清除列表的 x 的最小值是多少? 例如,如果您的数字列表是 1 3 8 10 18 20 25 并且m = 2,答案将是x = 5。 您可以选择两个整数5和20。这将清除列表,因为它会删除[5-5,5 + ……继续阅读 »

c/c++

递归的不同风格,引用/全局/指针变量的使用

递归的不同风格,引用/全局/指针变量的使用
有些递归解决方案只能通过使用引用类型变量(或C / C++中的指针)或使用全局/成员变量来完成。 我觉得纯递归函数不应修改全局状态。 这种递归解决方案是否有任何特定名称(在回忆中,我们仅缓存),并且我们可以将其转换为更自然的递归类型吗? 例如:二叉树中的最大和问题。 您可以看到我们在所有调用中都使用了max[0] = Math.max(max[0]。 p……继续阅读 »

dynamic-programming

查找达到给定值的最小包装数量

查找达到给定值的最小包装数量
我正在尝试解决与该问题类似的问题,但进行了一些修改: “给定值V,如果我们想改变V分,并且有无限数量的C = {C1,C2,..,Cm}值硬币,那么最少要制造多少个硬币改变?” 输入:coins [] = {25,10,5},V = 30 输出:至少需要2个硬币 我们可以使用一枚25分硬币和5分之一硬币 就我而言,我有一个对象数组,而不仅仅是数字数组。……继续阅读 »

c/c++

动态规划-图论

动态规划-图论
You are in a large NxN grid with (2 <= N <= 100), numbered from (1, 1) to (N,N). Each of these rooms except (1,1), is considered to be turned ‘off’. Your goal i……继续阅读 »

data-structures

从N个项目中选择M个项目,以使完成这些M个项目的任务花费的时间最少

从N个项目中选择M个项目,以使完成这些M个项目的任务花费的时间最少
我正在尝试解决以下问题:您将获得N个物品。每个项目包含三个任务A,B和C。完成任务A所需的时间为TA,任务B为TB,任务C为TC。现在,我们必须选择M项,以便完成这些M项的任务所需的时间最少。以下是规则: 所有选定的M个项目同时运行,即所有M个项目的任务同时运行 除非所有M个项目的任务A完成,否则任何选定项目的任务B都无法启动 除非所有M个项目的任务B完成,……继续阅读 »