小编The*_*ble的帖子

子集和算法

我正在研究这个问题:

该子集和问题需要输入一个组X = {x1, x2 ,…, xn}n整数和另一个整数K.问题是,以检查是否存在一个子集X'X,它的元素之和为K,并发现该子集,如果有任何.例如,如果X = {5, 3, 11, 8, 2}K = 16那么答案是YES,因为该子集X' = {5, 11}具有的总和16.实现Subset Sum的算法,其运行时间至少为O(nK).

注意复杂性O(nK).我认为动态编程可能有所帮助.

我找到了一个指数时间算法,但它没有帮助.

有人可以帮我解决这个问题吗?

algorithm dynamic-programming subset-sum

46
推荐指数
4
解决办法
5万
查看次数

找到大小为m和n的2个排序列表的并集中的第k个最小元素,效率log(k)

找到大小为m和n的2个排序列表的并集中的第k个最小元素

有效率log(k),我做了很多思考和搜索我也得到了

pesedocode和它的解释...到目前为止,我仍然没有得到或理解

问题对..任何帮助将不胜感激....

algorithm

2
推荐指数
1
解决办法
837
查看次数

c#中的虚方法和对象切片

我可以理解基本的对象切片,但有时当我们来到这样的例子时它会变得很混乱

using System;
class A
{
   public virtual void F() { Console.WriteLine("A.F"); }
}
class B: A
{
   public override void F() { Console.WriteLine("B.F"); }
}
class C: B
{
   new public virtual void F() { Console.WriteLine("C.F"); }
}
class D: C
{
   public override void F() { Console.WriteLine("D.F"); }
}
class Test
{
   static void Main() {
      D d = new D();
      A a = d;
      B b = d;
      C c = d;
      a.F();
      b.F();
      c.F();
      d.F();
   } …
Run Code Online (Sandbox Code Playgroud)

c# virtual-functions

0
推荐指数
2
解决办法
1820
查看次数