dynamic-programming相关内容

寻找最少的移动次数

我有以下问题陈述: 给定一个数字n(1<;n<;10^9),最少有多少 集合中的数学运算(n除以2,n除以3, 从n中减去1)可用于将数字n转换为1? 到目前为止,我编写了以下代码来尝试解决该问题: while(n!=1){ if(n%3==0 || n%2==0){ if(n%3==0){ n=n/3; ..
发布时间:2022-08-08 23:59:36 Java开发

求和等于k的子集的个数

谁能给我解释一下动态算法,它找出了sum等于k的子集的数目。 我在谷歌上搜索,但找不到任何简单的解释!对不起,我的英语很差! 代码如下: int numbers[MAX]; int GetmNumberOfSubsets() { int dp[MAX]; dp[0] = 1; int currentSum = 0; f ..
发布时间:2022-07-04 11:36:00 C/C++开发

有没有什么算法可以解决每个字符具有不同权重的最长公共子序列问题?

我正在寻找一种算法来解决具有以下条件的两个字符串的LCS问题: 每个字符串都由英文字符组成,每个字符都有一个权重。例如: 序列1(S1):带权重的ABBCD[1,2,4,1,3] 序列2(S2):“tbdc”,权重为[7,5,1,2] 假设MW(s, S)被定义为字符串S中的子序列s相对于相关权重的最大权重。最重的公共子序列(HCS)定义为: hcs=argmin(mw( ..
发布时间:2022-07-04 11:32:16 其他开发

通过添加相邻元素使所有元素相等所需的最少步骤

我有一个大小为N的数组A,所有元素都是正整数。在一个步骤中,我可以将两个相邻的元素相加,并用它们的总和替换它们。也就是说,数组大小减少了1。现在,我需要通过执行最少的步骤来使所有元素相同。 例如:A=[1,2,3,2,1,3]。 第一步:合并索引0和1==&>A=[3,3,2,1,3] 第二步:合并索引2和3(新数组的)==>;[3,3,3,3] 因此步骤数为2。 ..

如何在k个容器中划分n个数字,以便它们是平衡的?

我有n个数字,我想将它们分配到k个容器中(每个容器中的n/k个数字),以便使每个两个容器之间的差异最小化。 1.“平衡分区”是此问题的最佳答案吗? 2.我在2个容器(如here或here)上找到了所有的‘平衡分区’讨论。如何将解决方案扩展到更多容器? 推荐答案 您的问题确实是众所周知的Partition问题的推广。(例如,有关该主题的更多信息,请参见https://en.wikip ..
发布时间:2022-04-01 11:40:06 其他开发

具有动态x轴属性的Excel图形

在Excel中,我有一个目录和这个表格的图形,其中X轴可以随着开始和结束而变化。如何动态设置X轴范围,使其不总是使用如下所示的整个表格?我目前必须进入图表设置并手动更改它。 以下是我的数据表: 我刚才添加的min_max列,因为我认为它可能有用。 根据组合框选项的不同,日历周选项也会有所不同。因此,我希望图表适应日历周的范围,而不是在右侧有巨大的缺口。 补偿公式会是什么样子的?我试过 ..
发布时间:2022-04-01 11:32:06 其他开发

给出一根长度为N的杆子,你需要把它切成R段,这样每一段的长度都是正数,有多少种方法可以做到这一点?

说明: 给定两个正整数N和R,有多少种不同的方法可以将一根长度为N的杆切成R段,使得每段的长度都是正整数?输出此答案的模数为1,000,000,007。 示例: 在N=7和R=3的情况下,有15种方法将长度为7的棒切成3块:(1,1,5),(1,5,1),(1,2,4),(1,4,2)(2,1,4),(4,1,2),(4,2,1),(4,2,1),(1,3,3),(3,1,3),(3,3 ..
发布时间:2022-04-01 11:30:20 Python

Array.ush()和扩展语法之间的差异

算法问题说明:查找与目标总和相加的最小数组。 代码问题: 我不理解以下情况下结果的差异: 使用arr.ush()方法 与 使用扩展语法 请参考下面的注释行。 扩散语法返回正确的解,而.ush()方法继续压入相同的数组。我不明白为什么它总是引用内存中的同一数组。 提前表示感谢! let howSum = (target, arr, memo = {}) ..

距离可被整数整除的点对

我遇到了一个面试问题,尽管我一直在努力自己解决这个问题,但我认为我需要一些帮助。 我有一个整数数组(正负)表示空间中的点,两点之间的距离定义为abs(A[i]-A[j]),我需要检查该距离是否可被给定的整数M整除。 情况是这样的: 数组:[-3-2 1 0 8 7 1] M=3 abs(A[1]-A[2])=3(例如,它可以被整数整除) 复杂度应为O(N+M), ..

分段最小二乘的动态规划算法

几天来,我一直在尝试用Python语言实现这个算法。我不断地回到过去,然后放弃,变得沮丧。我不知道发生了什么事。我没有任何人可以求助,也没有地方可以去寻求帮助,所以我来到了这里。 PDF警告:http://www.cs.uiuc.edu/class/sp08/cs473/Lectures/lec10.pdf 我认为这不是一个清楚的解释,我肯定不明白。 我对正在发生的事情的理解是: ..

K次尝试中的最大访客数(时间间隔)

聚会正在进行,给出了每一位客人参加聚会的时间间隔。我可以去派对厅k次。现在我应该选择k个时间实例,这样我就可以遇到最多的客人 n-不。客人的数量 不是。尝试次数 示例:对于n=5&;k=2 给定5个客人的间隔[1,3][4,8][1,5][6,8][4,8] 在时间=1时,我可以会见第一位和第三位客人;在时间=6时,我可以会见第二位、第四位和第五位客人。因此,我在两次尝试中最多 ..
发布时间:2022-04-01 11:15:51 其他开发

使用动态规划来找到其和最接近给定数字M的数字的子集

给定由n个正整数组成的集合A,a1,a2,...A3和另一个正整数M,我要找出A的一个子集,它的和最接近于M。换句话说,我要找到A的一个子集A‘,使其绝对值|M-􀀀Σa∈A’|最小化,其中[Σa∈A‘a]是A’的个数的总和。我只需要返回解决方案子集A‘的元素之和,而不报告实际的子集A’。 例如,如果A为{1,4,7,12},M=15,则解的子集为A‘={4,12},因此算法只需返回4+12 ..
发布时间:2022-04-01 11:13:44 其他开发

如何使用递归在C#中获得硬币兑换问题的最小可能组合

我是C#的新手,我有一个递归问题要解决。我想在这个硬币兑换问题中得到尽可能少的硬币。我已经调整了一个算法,但我需要返回一个类型为Change的对象,该对象将包含最小可能的组合。 我试图实现一个算法,但我有所有可能的组合。 using System; using System.Collections.Generic; using System.Linq; // Do not modif ..
发布时间:2022-04-01 11:11:32 C#/.NET

利用Haskell中的递归方案解决变化制造问题

我正试图从blog on recursion schemes中理解组织同构。我在运行博客中提到的解决change making problem的例子时遇到了一个问题。 找零问题取一种货币的面额,并试图找到创造一笔给定货币所需的最小硬币数量。下面的代码摘自博客,应该可以计算出答案。 {-# LANGUAGE DeriveFunctor #-} module Main where impo ..