摘要: 考虑枚举右端点,用线段树维护[i,nowr]的答案。当右端点向右延伸时,需要知道它前面第一个比它大/小的数的位置,这里面的最值将发生改变,这个使用单调队列求出,然后将所有的l都加1。注意常数优化。#include#define PB int mid=(a+b)>>1,l=x='0')&&(c='0'... 阅读全文
posted @ 2014-11-15 13:45 Claris 阅读(1060) 评论(2) 推荐(0) 编辑