摘要: 题目来源:http://news.cnblogs.com/n/192014/用a[i]表示第i个墙的高度,墙的个数记为n思考:1)两个墙x,y之间可以盛水的条件是a[x],a[y]是a[x...y]中的前两大数;2)如果a[1...x-1]中存在a[i]>a[x],那么用k来替代x并不会使a[x...y]中盛水减少,同样如果a[y+1...n]中存在a[j]>a[y],可以用j替代y不会使a[x...y]中的盛水减少;3) 如果得到了a[1...n]中的前两大i,j,那么它们一定是整个区间盛水的最优边界,a[i...j]中的水位就是min{a[i],a[j]},只需要考虑两边:a[ 阅读全文
posted @ 2013-11-01 21:52 努力变瘦 阅读(159) 评论(0) 推荐(0) 编辑