摘要: 1 program dijkstra; 2 var 3 a:array[1..100,1..100]of integer; 4 flag:array[1..100]of boolean; 5 w,x,n,i,j,min,minn:integer; 6 begin 7 ... 阅读全文
posted @ 2015-04-06 00:47 OmegaIota 阅读(150) 评论(0) 推荐(0) 编辑
摘要: {ID:anniel11PROG:castleLANG:PASCAL}var a:array[0..50,0..50 ,1..4] of boolean; component:array[0..50,0..50] of integer;//which room does it belo... 阅读全文
posted @ 2015-02-22 07:39 OmegaIota 阅读(274) 评论(0) 推荐(0) 编辑
摘要: {ID: anniel11PROG: namenumLANG: PASCAL}Program namenum;var i,n,l:integer; s,s2:string; dicl:array[1..12] of integer; dic:array[1..12,1..2000] of i... 阅读全文
posted @ 2014-09-11 16:27 OmegaIota 阅读(151) 评论(0) 推荐(0) 编辑
摘要: {ID: anniel11PROG: transformLANG: PASCAL}Program transform;Var temp:boolean; c:char; i,j,n,sum,head,tail:longint; map1,map2:array[1..10,1.... 阅读全文
posted @ 2014-09-11 15:28 OmegaIota 阅读(172) 评论(0) 推荐(0) 编辑
摘要: {ID: anniel11PROG: milk2LANG: PASCAL}Program milk2;Var ans1,ans2,i,j,n,sum,head,tail:longint; a:array[1..5000,1..2] of longint; map:array[1..... 阅读全文
posted @ 2014-09-11 14:54 OmegaIota 阅读(169) 评论(0) 推荐(0) 编辑
摘要: f[i-1,t] →把h[i]给了f[i-1,t]后 f[i-1,t]+h[i]=f[i,j]+j; 原低塔变高塔 现低塔高度→(f[i-1,t]+t)b) then exit(a);11 exit(b);12 end;13 begin14 assign(input,'P1037.in');15 reset(input);16 assign(output,'P1037.out');17 rewrite(output);18 readln(n);19 for i:=0 to n do20 for j:=0 to 2000 do... 阅读全文
posted @ 2013-09-24 12:41 OmegaIota 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 题目本身不难 但是要用滚动数组,否则10000*10000的integer会爆128M考虑记sqrr[i,j] 为以[i,j]为右下角向左上扩展的正方形的最大值,up[i,j]为以[i,j]为最后一格能向上扩展的最大值,left[i,j]同理则sqrr[i,j]=min(sqrr[i-1,j-1]+1,up[i,j],left[i,j]);可以看到第i行状态只与i-1行有关【NOTICE】 j要downto,否则会覆盖前一行数据边界:对第一行,如果a[i,j]可行则(sqrr[j]=1,left[j]=left[j-1]+1,up[j]=1)否则均为0由于算min值要用到当前行的up,left 阅读全文
posted @ 2013-09-23 12:38 OmegaIota 阅读(200) 评论(0) 推荐(1) 编辑
摘要: 时间:近1h总结:速度实在是太慢了……主要是问题没想清楚方程:记f[i,j]为考虑前i个果子,剩余移动次数还有j次时能吃到的最大果子数则 f[i-1,j]+1 (t[i]=t[i-1])f[i,j]= max{f[i-1,j+1]+1,f[i-1,k](the nearest k such that t[k]=t[i])} (t[i]t[i-1])边界:f[1,0..k-1]=1 f[1,k]=1(t[1]=1) f[1,k]=0(t[1]=2)var n,k,i,j,max,q:integer; t:array[1..1000] of integer; f:array... 阅读全文
posted @ 2013-09-21 20:32 OmegaIota 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 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) 编辑