Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

简明题解。。自己不看题解真的做不出来。。膜拜下大牛们。。希望能对他人有所帮助

Posted by denghongchao at 2010-01-18 15:10:31 on Problem 2482
对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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator