当前位置: 首页 > 知识库问答 >
问题:

带负数的子集和

梁嘉祥
2023-03-14

我知道这是子集和问题的一个变体,我也见过类似问题的一些解决方案(带负数的子集和),但我需要用动态规划来解决这个问题。我见过的大多数解决方案都使用递归,而不是DP。

我想我需要一个大小为(n*n*d)的3d布尔表S(I,j,k)。但是S(i,j,k)什么时候为真,什么时候为假?因为我总是需要检查使用k个数计算和的所有可能方法,这些方法既可以是正数,也可以是负数(例如:对于4个数{1,2,3,4},有2^4种排列方法:1+2+3+4,1-2+3+4,1-2-3+4,...,-1+2-3-4,1-2-3-4)

是我的思想正确还是我已经做错了什么?

共有1个答案

薛烨
2023-03-14

一种方法是在由(c_1,c_2,…,c_n,-c_1,-c_2,…,-c_n)组成的集合上使用标准的动态规划子集和算法。

这将找到一个与d相加的子集(或者证明不存在)。

将A设置为子集中的所有正数,B设置为所有负数。

 类似资料:
  • 只是想知道CVC组件是否与“子数据集”一起工作。如果可行,指导我如何才能做到这一点。

  • 如果有一个包含一组正数和负数的数组,请打印所有等于0的子集和。 我可以想出一种方法,在那里我可以制作givcen阵列的所有功率集,并检查它们的总和是否为0。但对我来说,这不像是优化的解决方案。 看完网上看起来有点类似的问题,好像可以用下面的程序动态编程来解决,看看是否有组合存在,让和11只是一个例子? 但是我不知道如何将上述程序扩展到 1)包括负数 2)找到使和为零的元素组合(上面的程序只是发现它

  • 我想在负载均衡器后面设置一个rabbitmq集群,并使用spring AMQP连接到它。问题: > spring客户端是否需要知道RMQ集群中每个节点的地址,或者只知道负载均衡器的地址就足够了。 如果Spring客户端只知道负载均衡器,那么它将如何为集群中的每个节点维护连接/连接工厂。 是否有任何代码示例,说明如何使spring客户端与负载均衡器一起工作。

  • 我正在从Firebase实时数据库切换到云Firestore。我的数据库包含拥有存储的用户,每个存储都包含盒子。每个用户都可以拥有多个包含盒子的存储器。每个存储可以包含几个盒子。每个箱子只能放在一个仓库里。 在我应用程序的主视图中,对于该特定用户,我需要列出所有存储以及每个存储中的框,如下所示: 然后,用户应该能够点击每个框以查看内容和更多信息。 在Firebase实时数据库中,每个用户只需一个请

  • 在R中,我有一个列表,由12个子列表组成,每个子列表本身由5个子发布者组成,如下所示 列表和子列表 在本例中,我想为每个子列表提取信息“MSD”。 我可以提取每种使用方法的级别“统计信息” 这很有效。它给了我子列表“statistics”中包含的所有值,但是,对于每个列表,我想向下一级,因为我对其他数据(如MSerror、Df等)不感兴趣。。。。。只有MSD 我试过了 还有许多人没有成功。 如果我