Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
简明题解。。自己不看题解真的做不出来。。膜拜下大牛们。。希望能对他人有所帮助对x,y都采用在超出区间的第一个点使用负权值,这点相信大家都明白,就不费口舌了。 对任一区间[a,b].设置sum : 区间的所有和值。maxsum:区间内的最优和值(答案)。 设t = (a+b)/2,设root表示父节点,2*root+1左子节点,2*root+2 右。 root的maxsum: 1、若所有值都在[a,t]的范围内。则值递归为2*root+1的maxsum; 2、若不全在[a,t]范围内。则有一部分是右边的值。为2*root+1的sum 加上 2*root+2的maxsum。 为何不会超出 H的范围?因为万一超出,在y+H有y 的权值 w的负数 -w 在。此时会中和。 这样头结点的maxsum即为答案。 Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator