摘要:
void work() { int t=log(n)/log(2); for(int j=1;j<=t;++j) { for(int i=1;i<=(n+1-(1<<j));++i) { f[j][i]=max(f[j-1][i],f[j-1][i+(1<<(j-1))]); f_min... 阅读全文
摘要:
如此显然的线段树,我又瞎了眼了 事实上跟以前的奇袭很像....... 只要满足公式maxn-minn(权值)==r-l即可 所以可以考虑建两颗树,一棵节点维护位置,一棵权值, 每次从一棵树树上查询信息,如果满足公式就停止,不然两颗树不断扩展区间 当然也可以用ST啦(查询O(1)优于线段树) 1 #i 阅读全文