摘要: 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... 阅读全文
posted @ 2013-08-14 14:03 OmegaIota 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 点修改 段求和 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... 阅读全文
posted @ 2013-08-14 13:43 OmegaIota 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 【算法】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... 阅读全文
posted @ 2013-08-14 00:10 OmegaIota 阅读(292) 评论(0) 推荐(0) 编辑