Sorry for being offtopic but  yes if anyone proposes a polynomial time
algorithm(which can work for all cases) he is entitled to a prize money of
1 million. http://en.wikipedia.org/wiki/Millennium_Prize_Problems

Saurabh Singh
B.Tech (Computer Science)
MNNIT
blog:geekinessthecoolway.blogspot.com



On Sat, Jan 7, 2012 at 11:46 PM, Gene <[email protected]> wrote:

> If you have an O(n^2) algorithm, you will be famous because you will
> have proven that P=NP.  As has been pointed out, this is the subset
> sum problem, well known to be NP hard.
>
> It is only "weakly" NP hard, though.  There is a simple pseudo-
> polynomial time DP algorithm.  Let S(n, k) be a boolean function true
> iff there is a subset of elements that sum to n using only elements
> 1,2,...,k.
>
> Then S(n,k) = S(n,k-1) or S(n - a[k], k-1) for n,k>0.  The base cases
> are S(0,k)=true for k>=0 and S(n,0)= false for n>0.  The intuition
> here is "you either skip usiong the k'th item in the subset or use
> it."
>
> This just tells you whether a subset exists.  It's easy to find the
> subset elements with back pointers in the DP table, which will form a
> tree rooted at S(n, N) where the array has N elements.  Each root-leaf
> path in the tree will be a valid subset.
>
> This algorithm is polynomial in the _size_ of the elements, which is
> exponential time by the normal definition, but can be useful if data
> are small.  That's why it's called pseudo-polynomial time.
>
>
>
> On Jan 3, 12:26 pm, atul anand <[email protected]> wrote:
> > There is integer array like {1,2,4,5,6,1,2,4,3,5,7,2,1}. I want to find
> the
> > possible combination which will sum to 4.
> > input : {1,2,4,5,6,1,2,4,3,5,7,2,1}
> > output : {1,1,2}, {2,2}, {3,1}, {1,2,1}{4}...etc which make the sum as 4
> >
> > any approach better than O(n^2) ???
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to