08 2013 档案
摘要:1 var 2 a,b:array[0..10000] of integer; 3 i,n:integer; 4 procedure edit(l,r,delta:integer); 5 var 6 i:integer; 7 begin 8 b[l]:=b[l]+delta; 9 b[r+1]:=b[r+1]-delta;10 end;11 12 function find(k:integer):integer;13 var14 i:integer;15 begin16 for i:=1 to k do inc(find,b[i]);1...
阅读全文
摘要:点修改 段求和 1 var 2 a:array[1..100000] of integer; 3 t:array[1..100000] of longint; 4 i,j,n:integer; 5 function lowbit(x:integer):integer; 6 begin 7 exit(x and (-x)); 8 end; 9 procedure edit(k:integer;x:longint);10 var11 i,temp:integer;12 begin13 i:=k;14 temp:=a[k]-x;15 w...
阅读全文
摘要:【算法】MST-Prim①初步思路就是最小生成树,那么打井操作怎么办呢? 打井操作可看做是尤一个超级水源引出水,且代价为Wi的操作,所以加一个“超级点”就可以了,接着MST 1 var 2 n,heapsize,now,i,j:integer; 3 temp,mst:longint; 4 v:array[1..301,1..301] of longint; 5 p:array[1..301] of integer; 6 a,place:array[1..301] of integer; 7 d:array[1..301] of lo...
阅读全文
摘要:1 var 2 d,place,a:array[1..10000] of longint; 3 now,MST,heapsize,i,n,x1,x2,x3,m:integer; 4 done:array[1..10000] of boolean; 5 e:array[1..10000,1..10000] of integer; 6 procedure exchange(x,y:integer); 7 var 8 temp:integer; 9 begin10 place[a[x]]:=y;11 place[a[y]]:=x;12 ...
阅读全文
摘要:使用并查集 1 var 2 x1,x2,x3,n,m,i,j,mst:integer; 3 head,tail,u,p:array[1..1000] of integer; 4 procedure qsort(l,r:integer); 5 var 6 i,j,mid,temp:integer; 7 begin 8 i:=l;j:=r;mid:=(l+r) shr 1; 9 repeat10 while u[i]u[mid] do dec(j);12 if ij;20 if lfind(tail[i]) then57 ...
阅读全文
摘要:1 var 2 father:array[1..10000] of integer; 3 n,i:integer; 4 function getfather(a:integer):integer; 5 begin 6 if father[a]=0 then exit(0); 7 father[a]:=getfather(father[a]); 8 getfather:=father[a]; 9 end;10 function judge_union(a,b:integer):boolean;11 var12 fa,fb:integer;13 begin14 ...
阅读全文
摘要:1 var 2 a,f:array[1..1000] of integer; 3 n,i,j,max:integer; 4 begin 5 readln(n); 6 for i:=1 to n do read(a[i]); 7 for i:=1 to n do 8 begin 9 max:=1;10 for j:=1 to i-1 do if a[j]max then max:=f[j]+1;12 f[i]:=max;13 end;14 max:=0;15 for i:=1...
阅读全文

浙公网安备 33010602011771号