恢复一下被吞的blog。。
今天才发现统计的力量很坑爹,同时发现了我写线段树的漏洞。
首先说我自己的问题,线段树最后一层的第一个节点不能用,但我以前用了而且一直没出问题,这次涉及区间修改才出现问题。
然后是统计的力量,里面关于区间修改,区间查询最大值的代码有bug,不但修改上传标记与查询回收标记一个是求最小值的,一个是最大值的,而且标记上传也不完全,查询时不能改开区间等等问题,幸亏有奥特曼的程序,否则我一直调不出。
值得一提的是,zkw这种标记上传,差分思想确实很厉害。
ps:网上几乎找不到这种zkw线段树做动态修改的rmq问题的程序
{$M 1000000000}
uses math;
var m1,n,ans,s,ss,m:longint;
l,r,tail:array[1..1000000]of longint;
t:array[0..2621440]of longint;
next,sora:array[1..6000000]of longint;
procedure inf;
begin
assign(input,'river.in');reset(input);
assign(output,'river.out');rewrite(output)
end;
procedure ouf;
begin
close(input);close(output)
end;
procedure origin;
var i:longint;
begin
m1:=1;
while m1<n<<1+3 do m1:=m1<<1;
for i:=1 to n do tail[i]:=i;ss:=n
end;
procedure link(x,y:longint);
begin
inc(ss);next[tail[x]]:=ss;tail[x]:=ss;sora[ss]:=y;
inc(ss);next[tail[y]]:=ss;tail[y]:=ss;sora[ss]:=x
end;
procedure dfs(x,y:longint);
var i,ne:longint;
begin
inc(s);l[x]:=s;
i:=x;
while next[i]<>0 do begin
i:=next[i];ne:=sora[i];
if