Well the OP is not clear. You could be right. I solved this problem
once before, and there the glasses were arranged in a pyramid like
they do at weddings in my country  (this will only look right if you
set the fixed-width font in Groups:

     U
    U U
   U U U
  U U U U
 U U U U U
-----------
You pour in the wine at the top and each glass trickles down to the 2
below it.  So in this version I assumed the OP meant the children were
the ones below and to the right.  I could be wrong.

On Feb 28, 8:46 am, Ashish Goel <ashg...@gmail.com> wrote:
> 0.5 ( G(h - 1, i - 1) + G(h - 1, i) ) should be 0.5 ( G(h - 1, i - 1) + G(h
> - 1, i+1) )
>
> i am not clear why the parents of a cup in upper row are consecutive?
> Best Regards
> Ashish Goel
> "Think positive and find fuel in failure"
> +919985813081
> +919966006652
>
>
>
>
>
>
>
> On Tue, Feb 28, 2012 at 10:43 AM, Gene <gene.ress...@gmail.com> wrote:
> > G is just a helper function.  You can "in line" this function and
> > eliminate it.
>
> > When you do this, you'll end up with
>
> > F(h, i) = 0.5 * (l + r)
> >  where l = F(h-1,i-1) - C if 0 <= i-1 <= h-1 and F(h-1,i-1) > C else
> > 0
> >  and r = F(h-1,i) - C if 0 <= i <= h-1 and F(h-1,i) > C else 0
>
> > Here l is the left parent's outflow and r is the right parent's.
>
> > So you are always computing the h'th row in terms of the (h-1)'th.
> > For many DPs this means you'll need 2 row buffers.  In this one you
> > only need 1 element back in the current row. You can save this element
> > in a single variable and get by with one buffer.  I.e. note l for a
> > given value of i is always the previous value of r.  And for i=0, l is
> > always 0 because there is no left parent.
>
> > So you end up with
>
> > f[0] = L; // fill in the first row
> > for (ih = 1; ih <= h; ih++) { // loop thru rest of rows
> >  double l = 0; // left parent outflow at ii=0 is always 0.
> >  for (ii = 0; ii <= ih; ii++) { // loop thru columns
> >    // new right parent outflow
> >    double r = (ii < ih && f[ii] > C) ? f[ii] - C : 0;
> >    f[ii] = 0.5 * (l + r);
> >    l = r; // right parent is left of next row entry
> >  }
> > }
> > return (0 <= i && i <= h) ? f[i] : 0;
>
> > This is doing the same as Dave's code for all practical purposes. It's
> > untested but ought to work.
>
> > On Feb 27, 10:05 pm, Ashish Goel <ashg...@gmail.com> wrote:
> > > Gene, your DP is what i was thinking of but in code i could not coreleate
> > > G(h - 1, i - 1) + G(h - 1, i)  part (:
> > > Best Regards
> > > Ashish Goel
> > > "Think positive and find fuel in failure"
> > > +919985813081
> > > +919966006652
>
> > > On Tue, Feb 28, 2012 at 7:50 AM, Gene <gene.ress...@gmail.com> wrote:
> > > > G(h - 1, i - 1) + G(h - 1, i)
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Algorithm Geeks" group.
> > To post to this group, send email to algogeeks@googlegroups.com.
> > To unsubscribe from this group, send email to
> > algogeeks+unsubscr...@googlegroups.com.
> > 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 algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to