当前位置:首页 >> IT/计算机 >>

NOIP复赛冲刺资料集锦10


ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

数论算法
1. 求 两 数 的 最 大 公 约 数 function gcd(a,b:integer):integer; begin if b=0 then gcd:=a ?else gcd:=gcd (b,a mod b); end ; 2. 求 两 数 的 最 小 公 倍 数 function lcm(a,b:integer):integer; begin if a<b then swap(a,b); lcm:=a; while lcm mod b>0 do inc(lcm,a); end; 3. 素 数 的 求 法 A. 小范围内判断一个数是否为质数: function prime (n: integer): Boolean; var I: integer; begin ?for I:=2 to trunc(sqrt(n)) do ?if n mod I=0 then begin ??prime:=false; exit; ?end; ??prime:=true; end; B. 判断 longint 范围内的数是否为素数(包含求 50000 以内的素数表): procedure getprime; ?var ?i,j:longint; ?p:array[1..50000] of boolean; ?begin ??fillchar(p,sizeof(p),true); p[1]:=false; i:=2; while i<50000 do begin if p then begin ?j:=i*2; ?while j<50000 do begin ?p[j]:=false; ?inc(j,i); ?end; end; inc(i); end; l:=0; for i:=1 to 50000 do if p then begin ?inc(l);pr[l]:=i; end; end;{getprime} function prime(x:longint):integer; ?var i:integer; ?begin ??prime:=false; for i:=1 to l do if pr>=x then break ?else if x mod pr=0 then exit; prime:=true; end;{prime}

顶级?下一页

Page 1

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

图论算法

顶级?上一页?下一页

1. 最 小 生 成 树 A.Prim 算法: procedure prim(v0:integer); ?var ??lowcost,closest:array[1..maxn] of integer; i,j,k,min:integer; ?begin ??for i:=1 to n do begin lowcost:=cost[v0,i]; closest:=v0; end; for i:=1 to n-1 do begin { 寻找离生成树最近的未加入顶点 k} min:=maxlongint; for j:=1 to n do ?if (lowcost[j]<min) and (lowcost[j]<>0) then begin ?min:=lowcost[j]; ?k:=j; ?end; lowcost[k]:=0; { 将顶点 k 加入生成树 } ?{ 生成树中增加一条新的边 k 到 closest[k]} { 修正各点的 lowcost 和 closest 值 } for j:=1 to n do ?if cost[k,j]<lwocost[j] then begin ?lowcost[j]:=cost[k,j]; ?closest[j]:=k; ?end; end; end;{prim} B.Kruskal 算法: ( 贪心 ) 按权值递增顺序删去图中的边,若不形成回路则将此边加入最小生成树。 function find(v:integer):integer; { 返回顶点 v 所在的集合 } var i:integer; begin i:=1; while (i<=n) and (not v in vset) do inc(i); if i<=n then find:=i else find:=0; end; procedure kruskal; var tot,i,j:integer; begin for i:=1 to n do vset:=;{ 初始化定义 n 个集合,第 I 个集合包含一个元素 I} p:=n-1; q:=1; tot:=0; {p 为尚待加入的边数, q 为边集指针 } sort; { 对所有边按权值递增排序,存于 e[I] 中, e[I].v1 与 e[I].v2 为边 I 所连接的两个顶点的序号, e[I].len 为第 I 条边的长度 } while p>0 do begin ?i:=find(e[q].v1);j:=find(e[q].v2); ?if i<>j then begin ?inc(tot,e[q].len); ?vset:=vset+vset[j];vset[j]:=[]; ?dec(p); ?end; ?inc(q); end; writeln(tot); end; 2. 最 短 路 径 A. 标号法求解单源点最短路径: var ?a:array[1..maxn,1..maxn] of integer; ?b:array[1..maxn] of integer; {b 指顶点 i 到源点的最短路径 }

Page 2

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html
?mark:array[1..maxn] of boolean; procedure bhf; ?var ?best,best_j:integer; ?begin ?fillchar(mark,sizeof(mark),false); mark[1]:=true; b[1]:=0;{1 为源点 } repeat ?best:=0; ??for i:=1 to n do ??If mark then { 对每一个已计算出最短路径的点 } ??for j:=1 to n do ???if (not mark[j]) and (a[i,j]>0) then ???if (best=0) or (b+a[i,j]<best) then begin ???best:=b+a[i,j]; best_j:=j; ??end; ?if best>0 then begin ??b[best_j]:=best ; mark[best_j]:=true; ?end; ?until best=0; ?end;{bhf} B.Floyed 算法求解所有顶点对之间的最短路径: ?procedure floyed; ?begin for I:=1 to n do for j:=1 to n do if a[I,j]>0 then p[I,j]:=I else p[I,j]:=0; {p[I,j] 表示 I 到 j 的最短路径上 j 的前驱结点 } for k:=1 to n do { 枚举中间结点 } for i:=1 to n do ?for j:=1 to n do ??if a[i,k]+a[j,k]<a[i,j] then begin ?a[i,j]:=a[i,k]+a[k,j]; ???p[I,j]:=p[k,j]; ?end; ?end; C. Dijkstra 算法: var ?a:array[1..maxn,1..maxn] of integer; ?b,pre:array[1..maxn] of integer; {pre 指最短路径上 I 的前驱结点 } ?mark:array[1..maxn] of boolean; procedure dijkstra(v0:integer); begin fillchar(mark,sizeof(mark),false); for i:=1 to n do begin ?d:=a[v0,i]; ?if d<>0 then pre:=v0 else pre:=0; end; mark[v0]:=true; repeat ?{ 每循环一次加入一个离 1 集合最近的结点并调整其他结点的参数 } ?min:=maxint; u:=0; {u 记录离 1 集合最近的结点 } ?for i:=1 to n do ?if (not mark) and (d<min) then begin ??u:=i; min:=d; ?end; ?if u<>0 then begin ?mark:=true; ?for i:=1 to n do ??if (not mark) and (a[u,i]+d<d) then begin ??d:=a[u,i]+d; ??pre:=u; ?end; ?end; until u=0; end; 3. 计 算 图 的 传 递 闭 包 Procedure Longlink; Var

Page 3

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html
T:array[1..maxn,1..maxn] of boolean; Begin Fillchar(t,sizeof(t),false); For k:=1 to n do For I:=1 to n do For j:=1 to n do T[I,j]:=t[I,j] or (t[I,k] and t[k,j]); End; 4. 无 向 图 的 连 通 分 量 A. 深度优先 procedure dfs ( now,color: integer); begin ?for i:=1 to n do ?if a[now,i] and c=0 then begin { 对结点 I 染色 } ??c:=color; ??dfs(I,color); ?end; end; B 宽度优先(种子染色法) 5. 关 键 路 径 几个定义: 顶点 1 为源点, n 为汇点。 a. 顶点事件最早发生时间 Ve[j], Ve [j] = max{ Ve [j] + w[I,j] }, 其中 Ve (1) = 0; b. 顶点事件最晚发生时间 Vl[j], Vl [j] = min{ Vl[j] – w[I,j] }, 其中 Vl(n) = Ve(n); c. 边活动最早开始时间 Ee[I], 若边 I 由 <j,k> 表示,则 Ee[I] = Ve[j]; d. 边活动最晚开始时间 El[I], 若边 I 由 <j,k> 表示,则 El[I] = Vl[k] – w[j,k]; 若 Ee[j] = El[j] ,则活动 j 为关键活动,由关键活动组成的路径为关键路径。 求解方法: a. 从源点起 topsort, 判断是否有回路并计算 Ve; b. 从汇点起 topsort, 求 Vl; c. 算 Ee 和 El; 6. 拓 扑 排 序 找入度为 0 的点,删去与其相连的所有边,不断重复这一过程。 例 寻找一数列,其中任意连续 p 项之和为正,任意 q 项之和为负,若不存在则输出 NO. 7. 回 路 问 题 Euler 回路 (DFS) 定义:经过图的每条边仅一次的回路。(充要条件:图连同且无奇点) Hamilton 回路 定义:经过图的每个顶点仅一次的回路。 一笔画 充要条件:图连通且奇点个数为 0 个或 2 个。 8 . 判 断 图 中 是 否 有 负 权 回 路 Bellman-ford 算 法 x[I],y[I],t[I] 分别表示第 I 条边的起点,终点和权。共 n 个结点和 m 条边。 procedure bellman-ford begin for I:=0 to n-1 do d[I]:=+infinitive; d[0]:=0; for I:=1 to n-1 do for j:=1 to m do { 枚举每一条边 } if d[x[j]]+t[j]<d[y[j]] then d[y[j]]:=d[x[j]]+t[j]; for I:=1 to m do if d[x[j]]+t[j]<d[y[j]] then return false else return true; end; 9. 第 n最 短 路 径 问 题 * 第二最短路径:每举最短路径上的每条边,每次删除一条,然后求新图的最短路径,取这些路径中最短的一条即为第二最短路径 。 * 同理,第 n 最短路径可在求解第 n-1 最短路径的基础上求解。

Page 4

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

背包问题
* 部分背包问题可有贪心法求解:计算 Pi/Wi 数据结构: w: 第 i 个背包的重量; p: 第 i 个背包的价值; 1 . 0-1 背 包 :

顶级?上一页?下一页

每个背包只能使用一次或有限次 ( 可转化为一次 ) : A. 求最多可放入的重量。 NOIP2001 装箱问题 有一个箱子容量为 v( 正整数, o≤v≤20000) ,同时有 n 个物品 (o≤n≤30) ,每个物品有一个体积 ( 正整数 ) 。要求从 n 个物品中,任取若千个装入箱内,使箱子的剩余空间为最小。 l 搜索方法 procedure search(k,v:integer); { 搜索第 k 个物品,剩余空间为 v} var i,j:integer; begin ?if v<best then best:=v; ?if v-(s[n]-s[k-1])>=best then exit; {s[n] 为前 n 个物品的重量和 } ?if k<=n then begin ?if v>w[k] then search(k+1,v-w[k]); ?search(k+1,v); ?end; end; l DP F[I,j] 为前 i 个物品中选择若干个放入使其体积正好为 j 的标志,为布尔型。 实现 : 将最优化问题转化为判定性问题 f [I, j] = f [ i-1, j-w ] (w[I]<=j<=v) ?? 边界: f[0,0]:=true. For I:=1 to n do For j:=w[I] to v do F[I,j]:=f[I-1,j-w[I]]; 优化:当前状态只与前一阶段状态有关,可降至一维。 F[0]:=true; For I:=1 to n do begin F1:=f; For j:=w[I] to v do If f[j-w[I]] then f1[j]:=true; F:=f1; End; B. 求可以放入的最大价值。 F[I,j] 为容量为 I 时取前 j 个背包所能获得的最大价值。 F [i,j] = max { f [ i – w [ j ], j-1] + p [ j ], f[ i,j-1] } C. 求恰好装满的情况数。 DP: Procedure update; var j,k:integer; begin c:=a; for j:=0 to n do ?if a[j]>0 then ??if j+now<=n then inc(c[j+now],a[j]); a:=c; end; 2. 可 重 复 背 包 A 求最多可放入的重量。 F[I,j] 为前 i 个物品中选择若干个放入使其体积正好为 j 的标志,为布尔型。 状态转移方程为 f[I,j] = f [ I-1, j – w[I]*k ] (k=1.. j div w[I]) B. 求可以放入的最大价值。 USACO 1.2 Score Inflation 进行一次竞赛,总时间 T 固定,有若干种可选择的题目,每种题目可选入的数量不限,每种题目有一个ti (解答此题所需的时间)和一个 si (解答此题所得的分数),现要选择若干题目,使解这些题的总时间在T 以内的前提下,所得的总分最大,求最大的得分。 * 易想到: ?f[i,j] = max { f [i- k*w[j], j-1] + k*p[j] } (0<=k<= i div w[j]) 其中 f[i,j] 表示容量为 i 时取前 j 种背包所能达到的最大值。 * 实现: Begin

Page 5

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html
FillChar(f,SizeOf(f),0); For i:=1 To M Do For j:=1 To N Do If i-problem[j].time>=0 Then Begin ?t:=problem[j].point+f[i-problem[j].time]; ?If t>f Then f:=t; End; Writeln(f[M]); End. C. 求恰好装满的情况数。 Ahoi2001 Problem2 求自然数 n 本质不同的质数和的表达式的数目。 思路一,生成每个质数的系数的排列,在一一测试,这是通法。 procedure try(dep:integer); var i,j:integer; begin ?cal; { 此过程计算当前系数的计算结果, now 为结果 } ?if now>n then exit; { 剪枝 } ?if dep=l+1 then begin { 生成所有系数 } ?cal; ?if now=n then inc(tot); ?exit; ?end; ?for i:=0 to n div pr[dep] do begin ?xs[dep]:=i; ?try(dep+1); ?xs[dep]:=0; ?end; end; 思路二,递归搜索效率较高 procedure try(dep,rest:integer); var i,j,x:integer; begin ?if (rest<=0) or (dep=l+1) then begin ?if rest=0 then inc(tot); ?exit; ?end; ?for i:=0 to rest div pr[dep] do ?try(dep+1,rest-pr[dep]*i); end; {main: try(1,n); } 思路三:可使用动态规划求解 USACO1.2 money system V 个物品,背包容量为 n ,求放法总数。 转移方程: Procedure update; var j,k:integer; begin c:=a; for j:=0 to n do ?if a[j]>0 then ?for k:=1 to n div now do ??if j+now*k<=n then inc(c[j+now*k],a[j]); a:=c; end; {main} begin read(now); { 读入第一个物品的重量 } i:=0; ?{a 为背包容量为 i 时的放法总数 } while i<=n do begin a:=1; inc(i,now); end; { 定义第一个物品重的整数倍的重量 a 值为 1 ,作为初值 } for i:=2 to v do begin read(now); update; { 动态更新 } end; writeln(a[n]);

Page 6

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

Page 7

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

排序算法
1. 快 速 排 序 : procedure qsort(l,r:integer); var i,j,mid:integer; begin ?i:=l;j:=r; mid:=a[(l+r) div 2]; { 将当前序列在中间位置的数定义为中间数 } repeat ?while a<mid do inc(i); { 在左半部分寻找比中间数大的数 } ?while a[j]>mid do dec(j);{ 在右半部分寻找比中间数小的数 } ?if i<=j then begin { 若找到一组与排序目标不一致的数对则交换它们 } ?swap(a,a[j]); ?inc(i);dec(j); { 继续找 } ?end; until i>j; if l<j then qsort(l,j); { 若未到两个数的边界,则递归搜索左右区间 } if i<r then qsort(i,r); end;{sort} 2. 插 入 排 序 : 思路:当前 a[1]..a[i-1] 已排好序了,现要插入 a 使 a[1]..a 有序。 procedure insert_sort; var i,j:integer; begin for i:=2 to n do begin ?a[0]:=a; ?j:=i-1; ?while a[0]<a[j] do begin ?a[j+1]:=a[j]; j:=j-1; ?end; ?a[j+1]:=a[0]; end; end;{inset_sort} 3. 选 择 排 序 : procedure sort; var i,j,k:integer; begin for i:=1 to n-1 do ?for j:=i+1 to n do ??if a>a[j] then swap(a,a[j]); end; 4. 冒 泡 排 序 procedure bubble_sort; var i,j,k:integer; begin for i:=1 to n-1 do ?for j:=n downto i+1 do ?if a[j]<a[j-1] then swap( a[j],a[j-1]); { 每次比较相邻元素的关系 } end; 5. 堆 排 序 : procedure sift(i,m:integer);{ 调整以 i 为根的子树成为堆 ,m 为结点总数 } var k:integer; begin a[0]:=a; k:=2*i;{ 在完全二叉树中结点 i 的左孩子为 2*i, 右孩子为 2*i+1} while k<=m do begin ?if (k<m) and (a[k]<a[k+1]) then inc(k);{ 找出 a[k] 与 a[k+1] 中较大值 } if a[0]<a[k] then begin a:=a[k];i:=k;k:=2*i; end else k:=m+1; end; a:=a[0]; { 将根放在合适的位置 } end; procedure heapsort;

顶级?上一页?下一页

Page 8

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html
var j:integer; begin for j:=n div 2 downto 1 do sift(j,n); for j:=n downto 2 do begin ?swap(a[1],a[j]); ?sift(1,j-1); end; end; 6. 归 并 排 序 {a 为序列表, tmp 为辅助数组 } procedure merge(var a:listtype; p,q,r:integer); { 将已排序好的子序列 a[p..q] 与 a[q+1..r] 合并为有序的 tmp[p..r]} var I,j,t:integer; tmp:listtype; begin t:=p;i:=p;j:=q+1;{t 为 tmp 指针, I,j 分别为左右子序列的指针 } while (t<=r) do begin ?if (i<=q){ 左序列有剩余 } and ((j>r) or (a<=a[j])) { 满足取左边序列当前元素的要求 } ?then begin ???tmp[t]:=a; inc(i); ?end ?else begin ???tmp[t]:=a[j];inc(j); ?end; inc(t); end; for i:=p to r do a:=tmp; end;{merge} procedure merge_sort(var a:listtype; p,r: integer); { 合并排序 a[p..r]} var q:integer; begin if p<>r then begin ?q:=(p+r-1) div 2; ?merge_sort (a,p,q); ?merge_sort (a,q+1,r); ?merge (a,p,q,r); end; end; {main} begin merge_sort(a,1,n); end. 7. 基 数 排 序 思想:对每个元素按从低位到高位对每一位进行一次排序

Page 9

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

高精度计算
高精度数的定义: type hp=array[1..maxlen] of integer; 1. 高 精 度 加 法 procedure plus ( a,b:hp; var c:hp); var i,len:integer; begin fillchar(c,sizeof(c),0); if a[0]>b[0] then len:=a[0] else len:=b[0]; for i:=1 to len do begin inc(c,a+b); if c>10 then begin dec(c,10); inc(c[i+1]); end; { 进位 } end; if c[len+1]>0 then inc(len); c[0]:=len; end;{plus} 2. 高 精 度 减 法 procedure substract(a,b:hp;var c:hp); var i,len:integer; begin fillchar(c,sizeof(c),0); if a[0]>b[0] then len:=a[0] else len:=b[0]; for i:=1 to len do begin ?inc(c,a-b); ?if c<0 then begin inc(c,10);dec(c[i+1]); end; ?while (len>1) and (c[len]=0) do dec(len); c[0]:=len; end; 3. 高 精 度 乘 以 低 精 度 procedure multiply(a:hp;b:longint;var c:hp); var i,len:integer; begin fillchar(c,sizeof(c),0); len:=a[0]; for i:=1 to len do begin ?inc(c,a*b); ?inc(c[i+1],(a*b) div 10); ?c:=c mod 10; end; inc(len); while (c[len]>=10) do begin { 处理最高位的进位 } ?c[len+1]:=c[len] div 10; ?c[len]:=c[len] mod 10; ?inc(len); end; while (len>1) and (c[len]=0) do dec(len); { 若不需进位则调整 len} c[0]:=len; end;{multiply} 4. 高 精 度 乘 以 高 精 度 procedure high_multiply(a,b:hp; var c:hp} var i,j,len:integer; begin fillchar(c,sizeof(c),0); for i:=1 to a[0] do ?for j:=1 to b[0] do begin ?inc(c[i+j-1],a*b[j]); inc(c[i+j],c[i+j-1] div 10); c[i+j-1]:=c[i+j-1] mod 10; ?end; len:=a[0]+b[0]+1;

顶级?上一页?下一页

Page 10

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html
while (len>1) and (c[len]=0) do dec(len); c[0]:=len; end; 5. 高 精 度 除 以 低 精 度 procedure devide(a:hp;b:longint; var c:hp; var d:longint); {c:=a div b; d:= a mod b} var i,len:integer; begin fillchar(c,sizeof(c),0); len:=a[0]; d:=0; for i:=len downto 1 do begin ?d:=d*10+a; ?c:=d div b; ?d:=d mod b; end; while (len>1) and (c[len]=0) then dec(len); c[0]:=len; end; 6. 高 精 度 除 以 高 精 度 procedure high_devide(a,b:hp; var c,d:hp); var i,len:integer; begin fillchar(c,sizeof(c),0); fillchar(d,sizeof(d),0); len:=a[0];d[0]:=1; for i:=len downto 1 do begin ?multiply(d,10,d); ?d[1]:=a; ?while(compare(d,b)>=0) do { 即 d>=b} ?begin ?Subtract(d,b,d); ?inc(c); ?end; end; while(len>1)and(c.s[len]=0) do dec(len); c.len:=len; end;

Page 11

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

树的遍历
1. 已 知 前 序 中 序 求 后 序 procedure Solve(pre,mid:string); var i:integer; begin if (pre='') or (mid='') then exit; i:=pos(pre[1],mid); solve(copy(pre,2,i),copy(mid,1,i-1)); solve(copy(pre,i+1,length(pre)-i),copy(mid,i+1,length(mid)-i)); post:=post+pre[1]; { 加上根,递归结束后 post 即为后序遍历 } end; 2. 已 知 中 序 后 序 求 前 序 procedure Solve(mid,post:string); var i:integer; begin if (mid='') or (post='') then exit; i:=pos(post[length(post)],mid); pre:=pre+post[length(post)]; { 加上根,递归结束后 pre 即为前序遍历 } solve(copy(mid,1,I-1),copy(post,1,I-1)); solve(copy(mid,I+1,length(mid)-I),copy(post,I,length(post)-i)); end; 3. 已 知 前 序 后 序 求 中 序 的 一 种 function ok(s1,s2:string):boolean; var i,l:integer; ?p:boolean; begin ok:=true; l:=length(s1); for i:=1 to l do begin ?p:=false; ?for j:=1 to l do ?if s1=s2[j] then p:=true; ?if not p then begin ok:=false;exit;end; end; end; procedure solve(pre,post:string); var i:integer; begin if (pre='') or (post='') then exit; i:=0; repeat ?inc(i); until ok(copy(pre,2,i),copy(post,1,i)); solve(copy(pre,2,i),copy(post,1,i)); midstr:=midstr+pre[1]; solve(copy(pre,i+2,length(pre)-i-1),copy(post,i+1,length(post)-i-1)); end;

顶级?上一页?下一页

Page 12

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

进制转换
1。 任 意 正 整 数 进 制 间 的 互 化 除 n 取余 2。 实 数 任 意 正 整 数 进 制 间 的 互 化 乘 n 取整 3。 负 数 进 制 :

顶级?上一页?下一页

设计一个程序,读入一个十进制数的基数和一个负进制数的基数,并将此十进制数转换为此负 进制下的数: -R ∈ {-2 , -3 , -4,....-20}

Page 13

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

全排列与组合的生成
1 排 列 的 生 成 : ( 1..n ) procedure solve(dep:integer); var ?i:integer; begin ?if dep=n+1 then begin writeln(s);exit; end; ?for i:=1 to n do ?if not used then begin ??s:=s+chr(i+ord('0'));used:=true; ??solve(dep+1); ??s:=copy(s,1,length(s)-1); used:=false; ?end; end; 2 组 合 的 生 成 (1..n 中 选 取 k 个 数 的 所 有 方 案 ) procedure solve(dep,pre:integer); var ?i:integer; begin ?if dep=k+1 then begin writeln(s);exit; end; ?for i:=1 to n do ?if (not used) and (i>pre) then begin ??s:=s+chr(i+ord('0'));used:=true; ??solve(dep+1,i); ??s:=copy(s,1,length(s)-1); used:=false; ?end; end;

顶级?上一页?下一页

Page 14

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

查找算法
1折 半 查 找 function binsearch(k:keytype):integer; var low,hig,mid:integer; begin low:=1;hig:=n; mid:=(low+hig) div 2; while (a[mid].key<>k) and (low<=hig) do begin ?if a[mid].key>k then hig:=mid-1 ?else low:=mid+1; ?mid:=(low+hig) div 2; end; if low>hig then mid:=0; binsearch:=mid; end; 2树 形 查 找 二叉排序树:每个结点的值都大于其左子树任一结点的值而小于其右子树任一结点的值。 查找 function treesrh(k:keytype):pointer; var q:pointer; begin q:=root; while (q<>nil) and (q^.key<>k) do ?if k<q^.key then q:=q^.left ?else q:=q^.right; treesrh:=q; end;

顶级?上一页?下一页

Page 15

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

贪心

顶级?上一页?下一页

会议问题 ( 1 ) n 个活动每个活动有一个开始时间和一个结束时间,任一时刻仅一项活动进行,求满足活动数最多的情况。 解:按每项活动的结束时间进行排序,排在前面的优先满足。 ( 2 )会议室空闲时间最少。 ( 3 )每个客户有一个愿付的租金,求最大利润。 ( 4 )共 R 间会议室,第 i 个客户需使用 i 间会议室,费用相同,求最大利润。

Page 16

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

回溯法框架
1. n皇后问题 procedure try(i:byte); var j:byte; begin if i=n+1 then begin print;exit;end; ?for j:=1 to n do ?if a and b[j+i] and c[j-i] then begin ??x:=j; ?a[j]:=false; b[j+i]:=false; c[j-i]:=false; ?try(i+1); ?a[j]:=true; b[i+j]:=true; c[j-i]:=true; end; end;

顶级?上一页?下一页

2.Hanoi Tower h(n)=2*h(n-1)+1 ?h(1)=1 初始所有铜片都在a柱上 procedure hanoi(n,a,b,c:byte); {将第n块铜片从a柱通过b柱移到c柱上} begin if n=0 then exit; hanoi(n-1,a,c,b); {将上面的n-1块从a柱通过c柱移到b柱上} write(n,’ moved from’ to’ ,a,’ ,c); hanoi(n-1,b,a,c);{ 将b上的n-1块从b柱通过a柱移到c柱上 end; 初始铜片分布在3个柱上,给定目标柱goal h[1..3,0..n]存放三个柱的状态,now与nowp存最大的不到位的铜片的柱号和编号,h[I,0]存第I个柱上的个数。 Procedure move(k,goal:integer); {将最大不到位的k移到目标柱goal上} Begin If k=0 then exit; For I:=1 to 3 do For j:=1 to han[I,0] do If h[I,j]=k then begin now:=I;nowp:=j; end; {找到k的位置} If now<>goal then begin {若未移到目标} Move(k-1,6-now-goal); {剩下的先移到没用的柱上} Writeln(k moved from now to goal); H[goal,h[goal,0]+1]:=h[now,nowp]; h[now,nowp]:=0; Inc(h[goal,0]); dec(h[now,0]); Move(k-1,goal); {剩下的移到目标上} End;

Page 17

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

DFS框架
NOIP2001 数 的 划 分 procedure work(dep,pre,s:longint); { 入口为 work(1,1,n)} {dep 为当前试放的第 dep 个数 ,pre 为前一次试放的数 ,s 为当前剩余可分的总数 } var j:longint; begin if dep=n then begin ?if s>=pre then inc(r); exit; end; for j:=pre to s div 2 do work(dep+1,j,s-j); end; 类似: procedure try(dep:integer); var i:integer; begin ?if dep=k then begin ?if tot>=a[dep-1] then inc(sum); ??exit; end; ?for i:=a[dep-1] to tot div 2 do begin ?a[dep]:=i; dec(tot,i); try(dep+1); ?inc(tot,i); ?end; end;{try}

顶级?上一页?下一页

Page 18

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

BFS框架
IOI94 房 间 问 题 head:=1; tail:=0; while tail<head do begin inc(tail); for k:=1 to n do if k 方向可扩展 then begin ?inc(head); ?list[head].x:=list[tail].x+dx[k]; { 扩展出新结点 list[head]} ?list[head].y:=list[tail].y+dy[k]; ? 处理新结点 list[head]; end; end;

顶级?上一页?下一页

Page 19

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

数据结构相关算法
1 . 链 表 的 定 位 函 数 loc(I:integer):pointer; { 寻找链表中的第 I 个结点的指针 } procedure loc(L:linklist; I:integer):pointer; var p:pointer; j:integer; begin p:=L.head; j:=0; if (I>=1) and (I<=L.len) then while j<I do begin p:=p^.next; inc(j); end; loc:=p; end; 2. 单 链 表 的 插 入 操 作 procedure insert(L:linklist; I:integer; x:datatype); var p,q:pointer; begin p:=loc(L,I); new(q); q^.data:=x; q^.next:=p^.next; p^.next:=q; inc(L.len); end; 3. 单 链 表 的 删 除 操 作 procedure delete(L:linklist; I:integer); var p,q:pointer; begin p:=loc(L,I-1); q:=p^.next; p^.next:=q^.next; dispose(q); dec(L.len); end; 4. 双 链 表 的 插 入 操 作 ( 插 入 新 结 点 q) p:=loc(L,I); new(q); q^.data:=x; q^.pre:=p; q^.next:=p^.next; p^.next:=q; q^.next^.pre:=q; 5. 双 链 表 的 删 除 操 作 p:=loc(L,I); {p 为要删除的结点 } p^.pre^.next:=p^.next; p^.next^.pre:=p^.pre; dispose(p); 关键路径(最长路经): var a,b:array [1..10,1..10] of integer; n,last,out:integer; q,c:array [1..10] of integer; o:set of 1..10; procedure init; var i,j:integer; begin readln(n); for i:=1 to n do for j:=1 to n do ?read(a[i,j]); last:=0; o:=[]; out:=0; b:=a;

顶级?上一页?下一页

Page 20

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html
end; procedure sort; var i,j:integer; ?p:boolean; begin while out<>n do begin for i:=1 to n do if not (i in o) then begin ?p:=true; ?for j:=1 to n do ?if a[j,i]=1 then begin ??p:=false; ??break; ?end; ?if p then begin ?inc(last); ?q[last]:=i; ?inc(out); o:=o+; ?fillchar(a,sizeof(a),0); ?end; end; end; end; procedure work_1; var i,j,t,k:integer; begin a:=b; c[1]:=0; for i:=1 to n do begin k:=0; for j:=1 to i-1 do ?if (a[q[j],q]>0) and (a[q[j],q]+c[q[j]]>k) ?then k:=a[q[j],q]+c[q[j]]; c[q]:=k; end; end; procedure work_2; var i,j,k:integer; begin writeln(q[n]); for i:=n-1 downto 1 do begin k:=maxint; for j:=i+1 to n do ?if (a[q,q[j]]>0) and (c[q[j]]-a[q,q[j]]<k) then k:=c[q[j]]-a[q,q[j]]; if c[q]=k then writeln(q,' '); c[q]:=k; end; end; begin init; sort; work_1; work_2; end. 拓扑排序: var a:array [1..100,1..100] of 0..1; n:integer; p:set of 1..100; procedure init; var i,j,k:integer; begin fillchar(a,sizeof(a),0); readln(n); for i:=1 to n do begin read(k); while k<>0 do begin ?a[i,k]:=1;

Page 21

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html
?read(k); end; end; p:=[]; end; procedure search; var i,j,t,sum,printed:integer; begin printed:=0; while printed<n do for i:=1 to n do begin ?sum:=0; ?for j:=1 to n do sum:=sum+a[j,i]; ?if (sum=0) and not(i in p) then begin ?write(i,' '); ?p:=p+; ?inc(printed); ?for t:=1 to n do a[i,t]:=0; ?end; end; end; begin init; search; end

Page 22

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

各类算法要求
1.模拟方法 a.用数学量和图形描述问题 b.模拟计算过程 c.模拟时的优化 d.高精度计算算法 2.排序算法与算法时空复杂度 a.简单排序算法 b.快速排序、堆排序 c.算法时空复杂度 d.时空的简单优化方法 e.线性时间排序 f.归并排序 g.合理选用排序算法 3.搜索 a.复杂的模拟问题与利用相似性 b.函数的递归调用 c.栈与深度优先搜索 d.深度优先搜索的优化 e.队列与广度优先搜索 f.广度优先搜索的优化 4.贪心方法 a.工程计划模型 b.部分背包与每步最优 c.构造贪心算法 5.动态规划 a.另一种形式的工程计划 b.记忆化搜索 c.数字三角形:递推地思考问题 d.石子合并:状态的确定 e.街道问题:状态量维数的确定与无后效性 f.0-1背包:巧妙地选取状态量 g.Bitonic旅行:最佳的状态转化方式 h.最长非降子序列模型 i.构造动态规划算法 j.动态规划、递推、广度优先搜索的区别与转化 6.常用数学方法 a.排列组合 b.递推与通项的选用 7.分治 a.子问题与母问题的相似性 b.二分查找 c.分析算式 d.最长非降子序列的二分法 8.图论思想 a.图论基础 b.图的表示方法 c.经典图论算法 d.构造图论模型

顶级?上一页?下一页

Page 23

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

Page 24

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

命题特点 【NOIP简介】

顶级?上一页?下一页

NOIP是指全国青少年信息学奥林匹克联赛(National Olympiad in Informatics in Provinces简称NOIP) 。每年由中国计算机学会统一组织。NOIP是在同一时间、不同地点以各省市为单位由特派员组织。每年的9月 1— 10日报名,初赛定于每年10月的第二个星期六下午,复赛定于每年11 月的最后第二个星期六举行。全国统一大纲、统一试卷。初、高中或其他中等专业学校的学生可报名参加联 A 殖跞 透慈 礁鼋锥巍3跞 酝ㄓ煤褪涤玫募扑慊 段 际阅谌荩 卦诳疾旎 ∮胧涤玫闹 叮 以笔试为主。复赛为程序设计。参加初赛者须达到一定分数线后才有资格参加复赛。各省市、自治区都应参 恿 渭恿 遣渭 NOI的必要条件。

【联赛命题宗旨】
  全国青少年信息学奥林匹克联赛(NOIP )是一项面向全国青少年的信息学竞赛和普及活动,旨在向那些在中学阶段学习的青少年普及计算机科学知 叮桓 5男畔⒓际踅逃 纬烫峁┒ 托碌乃悸罚桓 切┯胁呕 难 峁┫嗷ソ涣骱脱 暗幕 幔煌ü 喝 拖喙氐幕疃 嘌 脱“ 斡判愕募扑慊 瞬拧 竞赛的目的是为了在更高层次上推动普及。本竞赛及其相关活动遵循开放性原则,任何有条件和有兴趣 难 :透鋈耍 伎梢栽谝涤嗍奔渥栽覆渭印1净疃 缓拖中械难 =萄 喑逋唬 膊涣腥虢萄Ъ苹 强瓮 性质的因材施教活动。参加者可为初高中学生或其他中等专业学校的青少年。

【联赛大纲】
在初赛的内容上增加以下内容: 数据结构 1. 指针类型2. 多维数组3. 单链表及循环链表4. 二叉树5. 文件操作(从文本文件中读入数据,并输出到文本文件中) 程序设计 1. 算法的实现能力2. 程序调试基本能力3. 设计测试数据的基本能力4. 程序的时间复杂度和空间复杂度的估计 算法处理 1. 离散数学知识的应用(如排列组合、简单图论、数理逻辑) 2. 分治思想 3. 模拟法 4. 贪心法 5. 简单搜索算法(深度优先 广度优先)搜索中的剪枝 6. 动态规划的思想及基本算法

【复赛的命题特点】
一.遵循大纲: 考察常用的数据结构和基本算法; 二.考察能力: 包括阅读理解能力、构建数学模型的能力、程序编码与调试能力、程序的时空性能分析和测试数据的生 赡芰Α⒏髦种 兜淖酆嫌τ媚芰Φ龋 三.题目有区分度: 一般3-4题,复赛题目的特点是: 1第一题:算法比较明显的,或者和数学关系比较大的题目,得分率比较的高 2第二题:好上手,但程序量要大一点的题目,考虑全面也不容易,得满分也不容易。 3第三题:一般是搜索,或者算法不明显的题目,算法方面,可能考到的是:搜索(回溯就可以了), 动态规划(几乎是必考),贪心,递推(小心真的考到哦),递归... 数据结构反而考得不多。熟悉字符串的操作和排序算法就差不多了。

Page 25

ABC Am ber CHM Conver t er Tr i al ver si on, ht t p: / / www. pr ocesst ext . com abcchm ht m / . l

金牌秘籍
资料来源及版权:清北学堂 中山纪念中学 陈启峰 第19届国际信息学比赛上获得金牌 这里主要谈的是怎样准备全国信息学分区联赛。以过往的经验来看, 一般来说编程基础还可以的学生只要在联赛前认真地准备一两个月,拿联 赛一等奖是不难的。比如说我校一个高二的学生,他只是在高二联赛前学 了两个月,每天大约花一节课的时间,结果在上年的联赛就拿到了一等奖。 接下来,我就分赛前学习准备和比赛注意事项两个方面来谈谈我是怎 么样做的。 赛前学习准备 我想所有竞赛学生都面临着同样的一个大问题,那就是时间问题。这 应该说是不可避免的,因为人的时间是有限的,把时间用在某些事情上, 相应地就减少了其它事情的可用时间。这时,提高学习效率便成了解决该 问题的关键。 然而不少的竞赛者都没有清楚地认识到这一点,只顾一味地、盲目地 牺牲自己的休息时间,虽然学习的时间增加了,但是学习效率却下降了, 导致学习成绩进步缓慢,有的甚至大幅度退步。可见,提高学习效率是相 当重要的。 怎样才能高效地学信息学呢? 第一、 要合理地安排上机实践和看书学习的时间。 在我见过的同学当中,有两类极端。一类是只做题,很少看书;另一 类是只看书,很少做题。不少的同学都会属于前者,也有少部属于后者。 这两类同学都难以将信息学学好。 少看书,就难以掌握好算法。有些学生习惯于在做题中学习算法。刚 开始接触信息学的时候,我也是这样的。但是学了半年我在算法方面没有 什么大进展。只是掌握一些回溯算法,有些高级一点的算法也会,比如PRIM 算法,那是我自己想出来的。但是我自己想出来的算法时间复杂度是 O(N^3),实际上PRIM有常见的O(N^2)和O(MlogN)算法。后面两种算 法是我后来在书上才学会的。如果不看书或少看书,我不太可能会掌握大 量高效的算法。所以我想劝劝那些在机房只会上网做题的同学,花多点时 间看书吧。 少编程,也是一个大问题。纯粹的苦思冥想是我们所欣赏佩服的,但 不能推崇.信息学不是空想出来的科学,而是现实密切相关的。要想学好 信息学,唯一的方法只有不断地实践,大胆尝试。只有经过大量的编程, 才能很好地将头脑里的算法变成程序代码, 让计算机为你高效地执行操 作。 第二,要从心理上消除对难题的恐惧。 遇到难题要敢于对它进行思考,一直的逃避只会使你永远都不会掌握 这个难题的解法。我看到很多同学都在网上做了巨量的题目,但结果提高 得很慢很慢。那是因为他们没有什么自己定下目标,不断徘徊在简单的题 海之中。 第三,要善于与别人交流自己的看法和想法。 我每次看到不会做的题目,都会先自己独立思考,实在想不出来了就请教 一位认识的强人,他一般都能给我满意的回答。当然,我也要经常为别人 解答问题。 比赛技巧 平时表现很好、一到考试就不行了的这类同学之多,可以用数之不尽 来形容。这是因为考试与平时训练有很大的不同。考试有时间限制,平时 训练可以让花上一天来做一题目;考试有很大外在压力,平时做好做坏都 可以重来;考试要追求高分,平时训练追求完美。掌握好比赛技巧,能让 你充分地发挥自己的真才实能。 一般来说,在比赛过程中我是这么做的。 第一、认真读题(20min )。 要做到一字不漏,突出重点。读错题是经常出现的事,也是很冤枉的 事。今年在克罗地要参加的国际奥林匹克信息学竞赛中,我第二试就看错 题了。我把第二题和第三题的时间限制4秒和0.3秒看反了。那是因为我看 题的顺序是1、3、2题,看时限的顺序是1、2、3题。看错相差悬殊的时限 对结果造成不利的影响。虽然第二题我做得特别好,甚至是全场最好的,4 秒时限的题目程序在0.3秒内都出解了,但是第三题却有不少的测试点使得 程序超时。最终我只得到100+100+60分,全场第4。

顶级?上一页?下一页

Pa ge 2 6

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

第二、设计算法(20~40min)。 保持一个简单形象的头脑。将问题变得越简单,越形象,就越有助于 你找到正确的算法。每道题目多想几种不同的算法,要注意正确性、全面 性、简洁性和你的熟悉程度。还要挖掘出题中有用的信息,尤其特殊条件。 第三、总体规划(1min)。 以期望分值为目标,综合考虑最坏情况。计划每一题我要用哪种算法, 需要多少时间,有多大把握,估计能拿多少分。接下来要做的就是按着计 划走。需要补充的是,需要保证20分钟的检查时间。当时实际操作超出计 划时,要立即制定新的方案。 第四、编写程序代码(60min~120min)。 认真、仔细、全面、简洁。 1)写代码时:每写完一小部分代码后,就回头读读代码是否和你所要 描述的一致。尤其要注意变量是否用得正确,注意是否会数组越界,变量 是否会溢出。 2)写完代码后:首先浏览一次代码,看整体框架,看是否漏了某些过 程。然后一个一个变量地检查细节,对于每个变量都问问自己,“ 这变量具 体表示什么?这里应该要放什么样的值?匹不匹配?” 。 前两步:回头写代码,浏览看框架,品味读细节 3)调试: A)调试样例、小数据; B)写一个Makedata来生成数据,包括随机数据,特殊数据,极 端数据; C)写一个应用朴素算法的Check来检查正确性,可考虑与程序 并存的方式。 第五、最后检查程序(20~60min)。 检查程序的数组范围,数据类型是否恰当,静态空间、栈空间,运行 时间,考虑的情况是否全面,输出和文件名是否正确。

Page 27

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

篇一
1、知识体系回顾,多做经典题目。

顶级?上一页?下一页

在算法方面可能考到的是:搜索(回溯就可以了)、动态规划(几乎必考)、贪心、递推(小心真的考到)、递归、 MST, euler 简单的图论算法(dijkstra, 路等)、数据结构反而考得不多,熟悉字符串的操作和排序算法就差不多了。记住:信息学不是看会的,是 坊岬摹R欢ㄒ 嗫炊嘞攵嗔贰 2、养成编码和调试习惯。复赛考查的算法并不困难,选手在实现上的问题往往还要大一些。因此建议: ①充分利用草稿纸,不要对自己的“ 心算能力” 太自信了。编程熟练的同学喜欢“ 一气呵成” ,拿到题目就开始编码,我认为这样不好。做信息学竞赛题的思维过程是丰富而曲折多变的,考虑问题必须 妗=銎疽皇钡 “ 感觉” 来编程往往是漏洞百出。初学者常常忘记做一些初始化工作(远不止变量赋初值这种最简单的),即使有经 榈耐 б材衙庖蛞皇笔韬鲂闯黾父龃砦蟮挠锞洹W钜 氖 “ 第一感觉” 的算法是错误的或者效率太低,而程序编了大半才发现 做一些复杂的题目,大多数人多会在一分心的时候突然断了思路,不知道下一步该写什么了。 ②编码采取自顶向下,逐步求精的方法,调试时采用输出中间结果的办法及时找出错误的地方。可以这么说 悸吩角逦 宰约撼绦虻乃惴ê捅嗦朐搅私猓 魇砸不嵩剿忱 ㄒ欢ú灰 鍪樱 ③多做套题,做单个题目和套题感觉并不一样。做套题要涉及到时间分配和做题顺序等,这些东西同样十分 匾 3、最大限度发挥水平。 ①认真审题。审题对于信息学竞赛来说尤其重要。同一个题目如果数据限制差异大的话可能难度差异也很不 @ 纾菏淙 A、B,输出A+B的值。如果题目说0<=A,B<=10000 ,这道题目无疑是一道很简单的题目,但如果题目说0<=A,B<=10^100 则显然就要用到高精度数的处理了。从某种意义上说,数据限制也暗示了可能的算法,数据小,也许是搜索 缮嫌贸〉氖焙颍 荽罅耍 赡苤荒芸悸嵌 婊 ⑹ Х椒ǖ雀咝У乃惴 恕 ②正确估计题目的难度和自己的水平。初学者是一般不可能做出所有题目的,应该选一些平时最熟悉和有把 盏奶猓 欢ㄒ 龆浴J煜さ奶饽恳 忧勘喑淌炝范取⒆既范取⒉馐院偷魇阅芰Γ 炎约河心芰δ玫降姆帜梦 。初学者常常“ 意气用事” ,拿到一道看起来很“ 爽” 的题目就开始做了,其实这样不好。平时必须训练一下对题目的规模、难点、编程调试复杂度等方面的估计 挂 ⒁庾约荷贸つ姆矫妫 喑趟俣群妥既范纫约暗魇阅芰θ绾危 岷献约憾蕴饽康墓兰疲 侥苷 返难≡ 题目和安排时间。 ③重视测试。能够做的题目常常得不了满分,这也属于发挥欠佳。究其原因不是自我估计不准,而是考虑问 獠蝗 妫 坏雷约河邪盐眨 行判淖龊玫奶饽恳欢ㄒ ù罅ζ Vて湔 沸浴2馐缘氖 菁纫 悸且话悖 惨 悸翘厥馇榭觯 婪值奈ㄒ槐曜际遣馐允 荨R坏览 训奶饽咳绻 薹ㄏ率郑 谑奔湓市淼那榭鱿乱欢ㄒ 一个能解一些特殊情况的程序。很多最优化题目,不要一个字都 不写,根据“ 直觉” 算法(如贪心),虽然得不了满分,也能得一定的分数。反正又不是写解题报告,得多少算多少。

Page 28

ABC Am ber CHM Conver t er Tr i al ver si on, ht t p: / / www. pr ocesst ext . com abcchm ht m / . l

篇二
一、安排时间的策略

顶级?上一页?下一页

合理安排时间,是取得好成绩的前提。所以在做题前,需要对做题时间做一个大概的估算。正常,每题的做 40 分钟。最后还要保留 30 分钟的检查时间。 馐奔洳怀 二、关于心态的策略 竞赛中,由于处于一个陌生的环境,再加上一时间面对那么多难题,可能会感觉紧张,急燥,畏难等心态。 舛际钦 O窒螅 Щ嶙晕业鹘冢 蛭 喝 还馐潜喑棠芰Φ木喝 切睦碜刺 木喝 劝谕呀粽 ,急燥,畏难,谁就掌握主动,就发挥好。所以一定不可紧张,急燥,畏难,要始终保持一份平常心。无论 问保 斯笤谟涤幸环萜匠P摹 三、应对难题的策略 竞赛试题根据其难易程度大致有以下几类: (1) 极其容易的题目,理解题目的意思,可能会立即做出来。仔细检查输入、输出的要求,万不可大意。 (2) 比较简单的问题。要求你去思考这一阶段学过的内容,对一些标准的程序段稍一变化即可做出。 认真审题,将问题和已有知识一一比较,然后决定解题的算法。 (3) 从没见过,却又是一个普通的问题(侧重于算法)。它主要检查你对题目内容的理解,你可能需要反复阅读 饽浚 险娣治觯 拍馨阉 龀隼础7治鑫侍庖 妫 远ハ蛳拢 鸩角缶 ⒁饽?橹 涞淖楹希 笆 莸 输入输出。 (4 )从没见过,而且感觉无从下手的问题。它主要考查你的发现规律、解决问题的能力。不能有急燥、畏难的 1 10 樾鳎 灰 阕龈鲇行娜耍 嫉募钢郑 — )现象一一列举,加以归纳,很快就会得到递推公式。竞赛中出现难题、没做过的题是正常情况,不要紧张 灰 纺选R蛭 喝 源蠹沂枪 降模 憔醯檬悄烟獾模 鹑艘不岣械嚼 选SΩ谜 幽烟猓 Vひ环萜 常心,认真分析,找到解题的正确算法。 四、查错、验证的策略 第一次编写完成的程序出错在所难免,这就需要查错。 查错大致分以下几个步骤: 1 、数组下标最大值是否过小 2 、自变量有没有正常加 1 3 、是否有死循环 4 、表达式是否正确无误 5 、循环变量的范围是否正确无误 6 、运算符号是否正确无误 7 、每一阶段结果是否正确无误 查错可以采取从上向下,逐步验证、依次排除的方法。 五、存盘的策略 竞赛对文件保存的位置有明确的规定,一定要严格地按要求存盘,以及对数据的输入、输出也要严格地按规 ń 小M 被挂 扛 5-10 分钟存盘一次,特别提醒的是:每次验证前,一定要先存盘。

Pa ge 2 9

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

六、检查的策略 竞赛的最后程序主要以检查为主,主要检查以下几个方面: 1 、文件名是否正确 2 、保存路径是否正确 3 、文件内的程序是否正确无误 4 、文件对数据的输入、输出是否完全符合题目要求

Page 30

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

篇三

顶级?上一页?下一页

我初三第一次参加信息学竞赛,复赛只得了40多分。我完全有能力得更高的分的,但由于经验不足就... 所以呢,我实在不忍心看到大家步我的后尘,因此在这里我就随便写一点自己的体会,希望对初学者有点帮 一、认真审题审题 对于信息学竞赛来说尤其重要。同一个题目如果数据限制差异大的话,可能难度差异也很不同。例如:输入 A,B,输出A+B的值。如果题目说0<=A,B<=10000,这道题目无疑是一道很简单的题目,但如果题目说 0<=A,B<=10000000000000000000000000000000000000000000000显然就要用到高精度数的处理了。 从某种意义上说,数据限制也暗示了你可能的算法。数据小,也许是搜索派上用场的时候,数据大了,可能 荒芸悸嵌 婊 Х椒ǖ雀咝У乃惴 恕 二、编码和调试的能力 去年复赛的时候,我身边的那个选手,打键盘的声音特别大,引得我转过头去看他。这时,我正在写第一题 丫 赐昕 嫉魇粤恕N野迪耄 赡苷馐歉黾 芯赫 Φ难∈职伞5蔽彝瓿傻谌 馐遣挥勺灾鞯挠秩タ此 ,竟发现他还在调试第一题。如此调试能力,试问如何能得高分?复赛考查的算法并不困难,选手在实现上 奈侍馔 挂 笠恍 =ㄒ椋ㄎ乙恢笔钦庋 龅模┐蠹遥阂唬 浞掷 貌莞逯剑 灰 宰约旱摹靶乃隳芰Α 太自信了。编程熟练的同学喜欢“ 一气呵成” ,拿到题目就开始编码。我认为这样不好。做信息学竞赛竞赛 獾乃嘉 淌欠岣欢 鄱啾涞模 悸俏侍獗匦肴 妗=銎疽皇钡摹案芯酢崩幢喑掏 锹┒窗俪觥3跹д 常常忘记做一些初始化工作(远不止变量赋初值这种最简单的),即使有经验的同学也难免因一时疏忽写出 父龃砦蟮挠锞洹W钜 氖恰暗谝桓芯酢钡乃惴ㄊ谴砦蟮幕蛘咝 侍 停 绦虮嗔舜蟀氩欧⑾ ... 做一些复杂的题目(以前复赛的题目其实没有特别复杂的,但今后可说不准),大多数人多会在一分心的时 蛲蝗欢塘怂悸罚 恢 老乱徊礁眯词裁戳恕6 嗦氩扇∽远ハ蛳拢 鸩角缶 姆椒ǎ 魇允辈捎檬涑鲋屑浣 峁 陌旆 笆闭页龃砦蟮牡胤健?梢哉饷此担 悸吩角逦 宰约撼绦虻乃惴ê捅嗦朐搅私猓 魇砸不嵩剿忱 (一定不要忽视)。 三、最大限度的发挥自己的水平 看上去是废话,但我必须说,当临近比赛的时候,这一点绝对比提高自己的编程能力重要和实际的多。 1.正确的估计题目的难度和自己的水平 初学者常常“ 意气用事(借用一下这个词吧)” ,拿到一道看起来很“ 爽” 的题目就开始做了,其实这样不 谩<堑 NOI99第二试的时候许多选手一开始就做第三题 模拟题,看起来简单,其区联赛中得到的一些启示。 实要做好并不容易,所以 不少人用了4小时都没有做出来,只好... 我虽然先做的第一题,但做完后也是去做第三题,做了3个小时却因为粗心... 所以说,必须在平时训练一下对题目的规模,难点,编程调试复杂度等方面的估计,还要注意自己擅长哪方 妫 喑趟俣群妥既范纫约暗魇阅芰θ绾危 岷献约憾蕴饽康墓兰疲 侥苷 返难≡裉饽亢桶才攀奔洹 2.重视测试 能够做的题目常常得不了满分,这也属于发挥欠佳。但其原因不是自我估计不准,而是考虑问题不全面。一 雷约河邪盐眨 行判淖龊玫奶饽恳欢ㄒ ù罅ζ Vて湔 沸浴<堑 NOI99 第一试,我第二题“ 几乎” 编正确了的,却因为初始化有误,我测试的数据可以通过,但评分时用的数据无 煌ü :( 。这是因为我的测试数据太特殊,没有反映出程序的缺陷。明白了吗?想想我的失败,大家一定要重视测试 。〔馐约记汕肟础靶畔⒀ав肓贰钡南喙匚恼隆 3.评分的唯一标准是测试数据 我不是鼓励大家“ 投机取巧” ,我的意思是,一道困难的题目如果无法下手,在时间允许的情况下一定要写 桓瞿芙庖恍┨厥馇榭龅某绦颉@ 缛ツ攴智 堵眯屑业脑に恪芬惶猓 藿獾氖 莺兔挥屑佑驼镜氖 莞 一个,难道对于这两个情况的程序你还不会编吗?得一些分算一些嘛。还有“ 导弹追踪” 一题有一个数据是 蚺帕械模 训滥悴恢 勒庵智榭鍪且淮沃荒艽蛞桓雎穑亢芏嘧钣呕 饽浚 灰 桓鲎侄疾恍矗 菽愕摹 直觉” 算法(例如贪心),虽然得不了满分,也能得一定的分数。反正又不是写解题报告,得多少算多少。 4.不怕一万,就怕万一

Page 31

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

和编程序没有什么关系啦,我是提醒大家要多存盘什么的,最好保留一些不同版本(例如算法不同)的程序 阌谘≡裥薷摹2灰 坏被厥拢 ⌒牡阕苁呛檬隆N疑洗尉鸵蛭 ...第二题编了两次(好在只多花了10分钟) 5、怎样准备复赛? 1.应该针对自身特点在时间不多的情况下,应该针对自己的特点来准备。 2.熟悉复赛的形式,内容和题目的特点 3.选择自己最有潜力的方面专攻。 初学者是一般不可能做出所有的题目的,应该选一些自己平时最熟悉和有把握的题,一定要做对。记住,信 息学竞赛最容易出现“ 一失足成千古恨” 的情况。自己熟悉的题目要加强编程熟练度,准确度,测试和调试 芰Γ 炎约河心芰δ玫降姆帜梦取<偃缥易罱 曰厮莺苡小案芯酢保 揖陀Ω枚啾嘁坏慊厮莸某绦颍 8 皇后,BETSY的旅行,马的周游,图的着色...把它练熟。

Page 32

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

篇四 【NOIP2008的个人感受】

顶级?上一页?下一页

这是本人第一次参加NOIP,成绩之差(130,有30分是cheat的),自己有时想着会有一点后悔。 首先,我自己的知识还远远不够,虽然比赛都是一些较基础的东西,但是自己学的东西太少了, 遇到的新的问题未能想出算法模型。自己学的太少,的确差上不少啊。 其次,休息不够好。比赛前状态不好,因为睡眠不够啊!害的我比赛时骗分都力不从心。还有,一定要 ⒅刂 兜墓愣扔肷疃龋 ⒁馓饽康难盗罚 ⒁獾碧煅 暗墓槟勺芙帷 另外为了这次比赛,在比赛的那个星期,我没有参加段考,整天伴着自己喜欢的东西,就是爽啊!尽管 惺被岷芾粒 恋檬裁炊疾幌胱觯挥惺庇龅嚼 岩不嵊型怂醯哪钔罚 故羌岢至讼吕础K 裕 岢质且愿吖 的品质。最后,跟大家说:大家一定要多多学习才是,好好睡觉,好好的放松放松!

Page 33

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

篇五 【noip 2007 就这么走了】
竞赛三小时...总觉得三小时过的是晕忽忽的....

顶级?上一页?下一页

拿到第一题...数据量200000...一般nlog(n)的快速排序是可以的...就是想不起来快速排序怎么做的....晕.. 随便蒙吧...结果连蒙都不会了...竟然每次读就查找是否有相同的...统计次数..最后竟然用冒泡排序.... 考完试我就晕了...能通过三组就谢天谢地吧....结果出来了...竟然对了5组..出乎意料...看第二题... 摆弄字符串还是比较会的....结果...情况考虑的少...就对了9组...有一组漏了个'-'...为什么?? 因为我在做完的时候想到了开头是减号..结果考虑的少...就在最后输出的时候匆忙加了个write('-') 哎.. 没想到测试数据两个'-';第三题:发蒙中....把题给考虑错了...考虑每次从距形的四个顶点选一个, 阶段就是分不出来...状态方程也写不出来...浪费了40分钟..第四题:有点思路,floyed一下,在搜索一下, 能通过很多组,结果...晕...时间没了...还没调试的出来...走出考场...不知道这三小时是怎么过去的....算了... 郁闷也没用....在拼搏一年,追回浪费的高一...迎战noip 2008!

Page 34

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

NOIP2009 复赛上机特训班

顶级?上一页?下一页

20

20

2009年 全 国 青 少 年 信 息 学 联 赛 复 赛 夺 奖 冲 刺 上 机 特 训 班
1 2 1 2 3 4
犑奔 具体安排 上午 报到 主讲内容 8:30-11:30 模拟考试 11月12日(周四) 11月13日(周五) 11月14日(周六) 8:30-11:30 唐文斌老师 图论模块 14:00-17:00 胡伟栋老师 动态规划模块 18:30-21:30 胡伟栋老师

( 11月 12日 )

2009 11 12

~15

2009 11 12

11月15日(周日) 8:30-11:30 胡伟栋老师 模拟、贪心模块 13:30-16:30 胡伟栋老师 综合练习答疑模块

下午

主讲内容

报到 熟悉、搭建上机环 ? 领取授课讲义题目 18:30-21:30 唐文斌老师 编程能力训练模块

14:00-17:00 唐文斌老师 搜索(枚举)模块 18:30-20:00 唐文斌老师 搜索(枚举)模块

晚上

返程 主讲内容 动态规划模块

授课共8次模块化课程,每次3课时,共24课时。每个模块分为约2 课时4道典型题编程解析,和1 课时 实际演练+指导。另有模拟考试3课时。

1 唐文斌老师:信息学奥赛国家队教练,第22 届全国信息学奥林匹克竞赛金牌,现就读于清华大学,参与了第23 届全国青少年信息学奥林匹克竞赛命题工作。唐文斌是2006 年TopCoder Open全球48 名现场决赛入围者中惟一的一名中学生。自2003年,唐文斌连续3年3次获得信息学浙江赛区的一等奖, 2005年荣获第22 届全国信息学奥林匹克竞赛金牌,作为信息学天才选手,唐文斌高二时就被清华大学破格录取。 2 16 ?7
报名电话 / 咨询电话: 010-88400806/88400903 ,传真: 88400706 ; 节假日: (0)13691230868 联系人: 邓老师 张老师 E-MAIL : tsba@topschool.org 高中学科竞赛群主 QQ 号: 706677500

网址: www.topschool.org

Page 35

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

信息学金牌教案
《信息学金牌教案( 2009 )》由四大部分组成,有机联系,系统完善。这四大部分包括: 1. 《信息学奥赛步步高教程》 2.2009 国庆信息学特训班实况录像剪辑光盘 3. 清北学堂历年讲义精华选 / 历年 NOIP,NOI 等真题精华选光盘 4. 国际金牌 NOIP 复赛模拟试卷一套 报名电话 / 咨询电话: 010-88400806/88400903 ,传真: 88400706 ; 节假日: (0)13691230868 联系人: 邓老师 张老师 E-MAIL : tsba@topschool.org 高中学科竞赛群主 QQ 号: 706677500

顶级?上一页?下一页

网址: www.topschool.org

Page 36

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

《信息学竞赛步步高教程》
《信息学金牌教案( 2009 )》由四大部分组成,有机联系,系统完善。这四大部分包括: 1. 《信息学奥赛步步高教程》 2.2009 国庆信息学特训班实况录像剪辑光盘 3. 清北学堂历年讲义精华选 / 历年 NOIP,NOI 等真题精华选光盘 4. 国际金牌 NOIP 复赛模拟试卷一套

顶级?上一页?下一页

《信息学奥赛步步高教程》目录 第一章 教案使用快速指南 ??1 第二章 计算机基础知识 ??3 2.1 2.2 2.3 计算机概论 ??3 计算机常用的数制及编码 ??6 计算机系统的组成 ??14

2.4 操作系统简介 ??16 2.5 计算机网络常识 ??18 2.6 计算机信息安全基础知识 ??22 第三章 Pascal 语言程序设计 ??25 3.1 Pascal 语言基础知识 ??25 3.2 顺序结构程序设计 ??30 3.3 选择结构程序设计 ??33 3.4 循环结构程序设计 ??35 3.5 数组与字符串 ??37 3.6 函数和过程 ??46 3.7 子界、枚举与集合类型 ??49 3.8 记录与文件类型 ??52 3.9 指针类型 ??55 第四章 数据结构 ??60 4.1 什么是数据结构 ??60 4.2 线性表 ??61 4.3 栈 ??71 4.4 队列 ??77 4.5 树和二叉树 ??83 4.6 图 ??92

Page 37

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

第五章 常用算法与策略 ??101 5.1 算法的概念 ??101 5.2 递归 ??103 5.3 回溯 ??106 5.4 排序 ??110 5.5 查找 ??124 5.6 穷举策略 ??129 5.7 分治策略 ??132 5.8 贪心策略 ??136 5.9 搜索算法 ??144 第六章 动态规划 ??153 6.1 何为动态规划 ??153 6.2 用动态规划解题 ??155 6.3 典型例题分析 ??160

报名电话 / 咨询电话: 010-88400806/88400903 ,传真: 88400706 ; 节假日: (0)13691230868 联系人: 邓老师 张老师 E-MAIL : tsba@topschool.org 高中学科竞赛群主 QQ 号: 706677500

网址: www.topschool.org

Page 38

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

《 09 清北国庆信息学特训实况录像》
《信息学金牌教案( 2009 )》由四大部分组成,有机联系,系统完善。这四大部分包括: 1. 《信息学奥赛步步高教程》 2.2009 国庆信息学特训班实况录像剪辑光盘 3. 清北学堂历年讲义精华选 / 历年 NOIP,NOI 等真题精华选光盘 4. 国际金牌 NOIP 复赛模拟试卷一套

顶级?上一页?下一页

2009 国庆信息学特训班实况录像剪辑光盘 为 3 张 DVD 光盘 包括 胡伟栋老师 《组合数学》 3 课时 《试题分析》 4.5 课时 唐文斌老师 《动态规划入门》 2 课时 《动态规划优化》 3 课时 并附带课程 PPT

报名电话 / 咨询电话: 010-88400806/88400903 ,传真: 88400706 ; 节假日: (0)13691230868 联系人: 邓老师 张老师 E-MAIL : tsba@topschool.org 高中学科竞赛群主 QQ 号: 706677500

网址: www.topschool.org

Page 39

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html

《清北学堂历年讲义精华集 /NOIP等真题集光盘》
《信息学金牌教案( 2009 )》由四大部分组成,有机联系,系统完善。这四大部分包括: 1. 《信息学奥赛步步高教程》 2.2009 国庆信息学特训班实况录像剪辑光盘 3. 清北学堂历年讲义精华选 / 历年 NOIP,NOI 等真题精华选光盘 4. 国际金牌 NOIP 复赛模拟试卷一套

顶级?上一页?

清北学堂历年讲义精华选 / 历年 NOIP,NOI 等真题精华选光盘 为 1CD 容量丰富,包括如下内容: I:\ 信息学教案 \ 光盘 -1- 数据光盘 ├─09 国庆特训资料 │ ├─ 唐文斌 │ │ ├─Code.rar ???.49KB │ │ ├─SCOI2006_Final.rar ??47.34MB │ │ ├─Splay │ │ │ ├─happybirthday.cc ???.07KB │ │ │ └─Splay Tree.rar ??63.15KB │ │ ├─Splay(26p).pdf ??37.09KB │ │ ├─Thumbs.db ???.00KB │ │ ├─ZJOI 2007 Day2 │ │ │ ├─data.rar ??38.37MB │ │ │ └─ZJOI2007-Day2-ProblemSet.pdf ??49.88KB │ │ ├─ 动态规划 Problem(22p).pdf ???.73MB │ │ ├─ 动态规划入门 (20p).pdf ??01.37KB │ │ ├─ 动态规划的优化 (23p).pdf ???.80MB │ │ └─ 线段树例题 (17p).pdf ??27.67KB │ └─ 胡伟栋 │ ├─2008 年复赛提高组试卷 1105.pdf ??79.01KB │ ├─NOIP2007 复赛试题 .doc ??01.50KB │ ├─ 清北学堂 NOIP 模拟试题 .pdf ??89.32KB │ ├─ 组合数学 (66p).pdf ???.67MB │ └─ 试题分析 (43p).pdf ???.58MB ├─ 历年真题资料 │ ├─ 其他类型真题 │ │ ├─2k 进制数( NOIP2006 ) .doc ??25.50KB │ │ ├─Greedy Gift Givers 贪婪的礼物送礼者 .doc ??46.00KB │ │ ├─ISBN 号码( NOIP2008 ) .docx ??13.71KB │ │ ├─Prime Cryptarithm 牛式 .doc ??43.00KB │ │ ├─Transformations 方块转换 .doc ??45.00KB │ │ ├─usaco 题解 Milking Cows 挤牛奶 .doc ??34.50KB │ │ ├─usaco 题解: 3.1.2 外加背包心得 .doc ??27.00KB │ │ ├─usaco 题解: Preface Numbering 序言页码 .doc ??41.00KB │ │ ├─usaco 题解: Subset Sums 集合 .doc ??29.50KB │ │ ├─usaco 题解: Your Ride Is Here 你要乘坐的飞碟在这里 .doc ??39.50KB │ │ ├─usaco 题解: Zero Sum 和为零 .doc ??33.00KB │ │ ├─usaco 题解:双重回文数 Dual Palindromes.doc ??36.00KB │ │ ├─usaco 题解:回文质数 - Prime Palindromes.doc ??40.50KB │ │ ├─usaco 题解:黑色星期五 Friday the Thirteenth.doc ??26.50KB │ │ ├─ 下棋( NOI1995 ) .docx ??13.86KB │ │ ├─ 侦探推理( NOIP2003 ) .doc ??77.50KB │ │ ├─ 分裂游戏解题报告 .pdf ??45.92KB │ │ ├─ 变换序列( NOI2009 ) .docx ??19.90KB │ │ ├─ 后缀数解题报告 .pdf ??98.34KB │ │ ├─ 回文数( NOIP99 ) .doc ??20.50KB │ │ ├─ 均分纸牌( NOIP2002 ) .doc ??20.50KB │ │ ├─ 描边( NOI2009 ) .docx ??26.49KB │ │ ├─ 数制转换( NOIP96 ) .doc ??19.50KB

Page 40

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├─ 极值问题( NOI1995 ) .docx ??12.22KB │ ├─ 查阅单词( NOI1995 ) .docx ??13.55KB │ ├─ 津津的储蓄计划( NOIP2004 ) .doc ??21.50KB │ ├─ 积木问题( NOIP95 ) .doc ??26.50KB │ ├─ 编码问题( NOIP95 ) .doc ??20.00KB │ ├─ 自由落体( NOIP2002 ) .doc ??29.00KB │ ├─ 试题一~试题五( NOI1994 ) .docx ??13.13KB │ ├─ 试题三( NOIP98 ) .doc ??28.00KB │ ├─ 谁拿了最多奖学金( NOIP2005 ) .doc ??21.00KB │ ├─ 进制转换( NOIP2000 ) .doc ??22.00KB │ └─ 风之韵解题报告 .pdf ??08.32KB ├─ 第五章 —— 常用算法与策略 │ ├─1— 递归 │ │ ├─ 传球游戏( NOIP2008 ) .docx ??13.44KB │ │ ├─ 传球游戏( NOIP2008 )在线评测 .url ??0B │ │ ├─ 数的划分( NOIP2001 ) .doc ??19.50KB │ │ ├─ 数的划分( NOIP2001 )在线评测 .url ??0B │ │ ├─ 机器人 M 号( NOI2002 ) .doc ??29.50KB │ │ ├─ 机器人 M 号( NOI2002 )在线评测 .url ??0B │ │ ├─ 试题一( NOIP98 ) .doc ??20.00KB │ │ ├─ 试题三( NOI1996 ) .pdf ??70.89KB │ │ ├─ 青蛙过河( NOI2000 ) .doc ??39.00KB │ │ ├─ 青蛙过河( NOI2000 )在线评测 .url ??0B │ │ └─ 骑士游历( NOIP97 ) .doc ??49.00KB │ ├─2— 回溯 │ │ ├─ 单词接龙( NOIP2000 ) .doc ??20.50KB │ │ └─ 单词接龙( NOIP2000 )在线评测 .url ??0B │ ├─3— 排序 │ │ ├─Name That Number 命名那个数字 .doc ??34.50KB │ │ ├─usaco 题解: Sorting a Three-Valued Sequence 三值的排序 .doc ??37.50KB │ │ ├─ 单词查找树( NOI2000 ) .doc ??29.50KB │ │ ├─ 单词查找树( NOI2000 )在线评测 .url ??0B │ │ ├─ 卫星覆盖( NOI1997 ) .doc ??47.50KB │ │ ├─ 卫星覆盖( NOI1997 )在线评测 .url ??0B │ │ ├─ 灯的排列问题( NOIP95 ) .doc ??42.00KB │ │ ├─ 生日快乐( NOI2006 ) .pdf ??24.94KB │ │ ├─ 生日快乐( NOI2006 )在线评测 .url ??0B │ │ ├─ 竞赛排名( NOI1997 ) .doc ??30.00KB │ │ ├─ 竞赛排名( NOI1997 )在线评测 .url ??0B │ │ ├─ 篝火晚会( NOIP2005 ) .doc ??20.50KB │ │ ├─ 篝火晚会( NOIP2005 )在线评测 .url ??0B │ │ ├─ 能量项链( NOIP2006 ) .doc ??23.50KB │ │ └─ 能量项链( NOIP2006 )在线评测 .url ??0B │ ├─4— 查找 │ │ ├─ 猜数解题报告(陈启峰) .doc ??93.50KB │ │ ├─ 试题一( NOI1991 ) .doc ??20.50KB │ │ ├─ 调皮的小孩( NOI2002 ) .doc ??38.50KB │ │ ├─ 调皮的小孩( NOI2002 )在线评测 .url ??0B │ │ ├─ 食物链( NOI2001 ) .doc ??32.00KB │ │ └─ 食物链( NOI2001 )在线评测 .url ??0B │ ├─5— 穷举 │ │ ├─Palindromic Squares 回文平方数 .doc ??51.00KB │ │ ├─usaco 题解: Calf Flac.doc ??36.00KB │ │ ├─usaco 题解: Hamming Codes 海明码 .doc ??29.50KB │ │ ├─usaco 题解: Longest Prefix 最长前缀 .doc ??31.00KB │ │ ├─usaco 题解:循环数 Round Number.doc ??39.00KB │ │ ├─usaco 题解:破碎的项链 .doc ??34.00KB │ │ ├─usaco 题解:顺序的分数 ordered Fractions.doc ??34.00KB │ │ ├─ 《彩虹 7 号》解题报告 .pdf ??04.82KB │ │ ├─ 围巾裁剪( NOI1998 ) .doc ??25.50KB │ │ ├─ 围巾裁剪( NOI1998 )在线评测 .url ??0B │ │ ├─ 曼哈顿( NOI2004 ) .doc ??37.50KB │ │ ├─ 曼哈顿( NOI2004 )在线评测 .url ??0B │ │ ├─ 木棒游戏( NOI2003 ) .pdf ??27.19KB │ │ ├─ 木棒游戏( NOI2003 )在线评测 .url ??0B │ │ ├─ 瓷片项链( NOI2000 ) .doc ??26.50KB │ │ ├─ 瓷片项链( NOI2000 )在线评测 .url ??0B │ │ ├─ 生成树计数( NOI2007 ) .pdf ??16.62KB

Page 41

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├─ 生成树计数( NOI2007 )在线评测 .url ??0B │ │ ├─ 聪明的打字员( NOI2001 ) .doc ??37.50KB │ │ ├─ 聪明的打字员( NOI2001 )在线评测 .url ??0B │ │ ├─ 荒岛野人( NOI2002 ) .doc ??33.00KB │ │ └─ 荒岛野人( NOI2002 )在线评测 .url ??0B │ ├─6— 分治 │ │ └─ 比赛安排( NOIP96 ) .doc ??20.00KB │ ├─7— 贪心 │ │ ├─Barn Repair 修理牛棚 .doc ??39.00KB │ │ ├─usaco 题解: Mixing Milk 混合牛奶 .doc ??33.00KB │ │ ├─ 小 H 的小屋( NOI2004 ) .doc ??34.00KB │ │ ├─ 小 H 的小屋( NOI2004 )在线评测 .url ??0B │ │ ├─ 排座椅( NOIP2008 ) .docx ??17.36KB │ │ ├─ 排座椅( NOIP2008 )在线评测 .url ??0B │ │ ├─ 旅行家的预算( NOIP99 ) .doc ??25.50KB │ │ ├─ 旅行家的预算( NOIP99 )在线评测 .url ??0B │ │ ├─ 最佳游览( NOI1997 ) .doc ??26.50KB │ │ ├─ 最佳游览( NOI1997 )在线评测 .url ??0B │ │ ├─ 试题二( NOIP98 ) .doc ??19.50KB │ │ ├─ 金明的预算方案( NOIP2006 ) .doc ??31.00KB │ │ └─ 金明的预算方案( NOIP2006 )在线评测 .url ??0B │ └─8— 搜索 │ ├─usaco 题解: Arithmetic Progressions 等差数列 .doc ??45.00KB │ ├─usaco 题解: Healthy Holsteins 健康的好斯坦奶牛 .doc ??30.50KB │ ├─usaco 题解: Party Lamps 派对灯 .doc ??46.00KB │ ├─usaco 题解: Superprime Rib 特殊的质数肋骨 .doc ??37.50KB │ ├─usaco 题解: The Castle 城堡 .doc ??53.00KB │ ├─usaco 题解: The Clocks 时钟 .doc ??51.00KB │ ├─usaco 题解:母亲的牛奶 Mother's Milk.doc ??83.00KB │ ├─ 《仓库管理员的难题》解题报告 .pdf ??11.55KB │ ├─ 一元三次方程求解( NOIP2001 ) .doc ??20.00KB │ ├─ 一元三次方程求解( NOIP2001 )在线评测 .url ??0B │ ├─ 传染病控制( NOIP2003 ) .doc ??22.50KB │ ├─ 传染病控制( NOIP2003 )在线评测 .url ??0B │ ├─ 卫星探测( NOI2003 ) .pdf ??38.75KB │ ├─ 卫星探测( NOI2003 )在线评测 .url ??0B │ ├─ 古城之谜( NOI2000 ) .doc ??27.00KB │ ├─ 古城之谜( NOI2000 )在线评测 .url ??0B │ ├─ 字串变换( NOIP2002 ) .doc ??22.00KB │ ├─ 字串变换( NOIP2002 )在线评测 .url ??0B │ ├─ 无根树( NOI1992 ) .doc ??25.00KB │ ├─ 智慧珠游戏( NOI2005 ) .pdf ??18.19KB │ ├─ 智慧珠游戏( NOI2005 )在线评测 .url ??0B │ ├─ 最短编号序列( NOI1995 ) .docx ??13.15KB │ ├─ 机场调度问题( NOI1996 ) .pdf ??76.57KB │ ├─ 棋盘问题( NOIP97 ) .doc ??28.00KB │ ├─ 毕业生( NOI2004 ) .doc ??35.50KB │ ├─ 毕业生( NOI2004 )在线评测 .url ??0B │ ├─ 求最长路径( NOI1993 ) .doc ??23.50KB │ ├─ 生日蛋糕( NOI1999 ) .doc ??20.50KB │ ├─ 矩形覆盖( NOIP2002 ) .doc ??28.50KB │ ├─ 矩形覆盖( NOIP2002 )在线评测 .url ??0B │ ├─ 管道取珠( NOI2009 ) .docx ??23.85KB │ ├─ 网络传输问题 杨晨醒 .pdf ??11.78KB │ ├─ 虫食算( NOIP2004 ) .doc ??21.50KB │ ├─ 虫食算( NOIP2004 )在线评测 .url ??0B │ ├─ 试题二( NOI1991 ) .doc ??20.50KB │ ├─ 过河( NOIP2005 ) .doc ??20.50KB │ ├─ 过河( NOIP2005 )在线评测 .url ??0B │ ├─ 邮票面值设计( NOIP99 ) .doc ??20.00KB │ └─ 零件与部件( NOI1994 ) .docx ??14.09KB ├─ 第六章 —— 动态规划 │ ├─Car 的旅行路线( NOIP2001 ) .doc ??21.00KB │ ├─Car 的旅行路线( NOIP2001 )在线评测 .url ??0B │ ├─ 乘积最大( NOIP2000 ) .doc ??22.00KB │ ├─ 乘积最大( NOIP2000 )在线评测 .url ??0B │ ├─ 二叉查找树( NOI2009 ) .docx ??16.26KB │ ├─ 作业调度方案( NOIP2006 ) .doc ??35.00KB

Page 42

ABC Am ber CHM Conver t er Tr i al ver si on, ht t p: / / www. pr ocesst ext . com abcchm ht m / . l
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├─ 作业调度方案( NOIP2006 )在线评测 .url ??0B │ ├─ 免费馅饼( NOI1998 ) .doc ??25.00KB │ ├─ 免费馅饼( NOI1998 )在线评测 .url ??0B │ ├─ 合唱队形( NOIP2004 ) .doc ??20.50KB │ ├─ 合唱队形( NOIP2004 )在线评测 .url ??0B │ ├─ 奥运物流( NOI2008 ) .pdf ??54.76KB │ ├─ 奥运物流( NOI2008 )在线评测 .url ??0B │ ├─ 拦截导弹( NOIP99 ) .doc ??20.00KB │ ├─ 拦截导弹( NOIP99 )在线评测 .url ??0B │ ├─ 挖地雷( NOIP96 ) .doc ??25.00KB │ ├─ 数据生成器( NOI2003 ) .pdf ??36.46KB │ ├─ 数据生成器( NOI2003 )在线评测 .url ??0B │ ├─ 方格取数( NOIP2000 ) .doc ??40.00KB │ ├─ 方格取数( NOIP2000 )在线评测 .url ??0B │ ├─ 最优连通子集( NOI1999 ) .doc ??24.00KB │ ├─ 最优连通子集( NOI1999 )在线评测 .url ??0B │ ├─ 棋盘分割( NOI1999 ) .doc ??26.50KB │ ├─ 棋盘分割( NOI1999 )在线评测 .url ??0B │ ├─ 瑰丽华尔兹( NOI2005 ) .pdf ??79.36KB │ ├─ 瑰丽华尔兹( NOI2005 )在线评测 .url ??0B │ ├─ 石子合并( NOI1995 ) .docx ??13.14KB │ ├─ 砝码称重( NOIP96 ) .doc ??20.00KB │ ├─ 社交网络( NOI2007 ) .pdf ??64.14KB │ ├─ 社交网络( NOI2007 )在线评测 .url ??0B │ ├─ 积木游戏( NOI1997 ) .doc ??26.00KB │ ├─ 积木游戏( NOI1997 )在线评测 .url ??0B │ ├─ 统计单词个数( NOIP2001 ) .doc ??21.50KB │ ├─ 统计单词个数( NOIP2001 )在线评测 .url ??0B │ ├─ 网络收费( NOI2006 ) .pdf ??15.89KB │ ├─ 网络收费( NOI2006 )在线评测 .url ??0B │ ├─ 设计路线( NOI2008 ) .pdf ??62.97KB │ ├─ 设计路线( NOI2008 )在线评测 .url ??0B │ ├─ 诗人小 G ( NOI2009 ) .docx ??16.68KB │ ├─ 货币兑换( NOI2007 ) .pdf ??52.12KB │ ├─ 货币兑换( NOI2007 )在线评测 .url ??0B │ ├─ 贪吃的九头龙( NOI2002 ) .doc ??28.50KB │ ├─ 贪吃的九头龙( NOI2002 )在线评测 .url ??0B │ ├─ 钉子和小球( NOI1999 ) .doc ??22.50KB │ ├─ 钉子和小球( NOI1999 )在线评测 .url ??0B │ ├─ 陨石的秘密( NOI2001 ) .doc ??27.50KB │ └─ 陨石的秘密( NOI2001 )在线评测 .url ??0B ├─ 第四章 —— 数据结构 │ ├─1— 线性表 │ │ ├─ 合并表格( NOI1993 ) .doc ??28.50KB │ │ ├─ 寻找同名人数( NOI1996 ) .pdf ??69.43KB │ │ ├─ 文本编辑器( NOI2003 ) .pdf ??46.27KB │ │ ├─ 文本编辑器( NOI2003 )在线评测 .url ??0B │ │ ├─ 维护数列( NOI2005 ) .pdf ??42.43KB │ │ └─ 维护数列( NOI2005 )在线评测 .url ??0B │ ├─2— 栈 │ │ ├─ 代数表达式问题( NOIP97 ) .doc ??37.50KB │ │ ├─ 等价表达式( NOIP2005 ) .doc ??21.50KB │ │ └─ 等价表达式( NOIP2005 )在线评测 .url ??0B │ ├─3— 树和二叉树 │ │ ├─ 信息学王子解题报告(陈启峰) .doc ??57.50KB │ │ ├─ 假面舞会 (NOI2008).pdf ??95.37KB │ │ ├─ 假面舞会 (NOI2008) 在线评测 .url ??0B │ │ ├─ 加分二叉树( NOIP2003 ) .doc ??20.50KB │ │ ├─ 加分二叉树( NOIP2003 )在线评测 .url ??0B │ │ ├─ 合并果子( NOIP2004 ) .doc ??21.50KB │ │ ├─ 合并果子( NOIP2004 )在线评测 .url ??0B │ │ ├─ 聪明的导游( NOI2006 ) .pdf ??76.81KB │ │ ├─ 聪明的导游( NOI2006 )在线评测 .url ??0B │ │ ├─ 设计路线( NOI2008 ) .doc ??25.00KB │ │ ├─ 设计路线( NOI2008 )在线评测 .url ??0B │ │ ├─ 项链工厂( NOI2007 ) .pdf ??36.00KB │ │ └─ 项链工厂( NOI2007 )在线评测 .url ??0B │ └─4— 图

Pa ge 4 3

ABC Am ber CHM Conver t er Tr i al ver si on, ht t p: / / www. pr ocesst ext . com abcchm ht m / . l
│ │ ├─ 假面舞会( NOI2008 ) .doc ??22.50KB │ │ ├─ 假面舞会( NOI2008 )在线评测 .url ??0B │ │ ├─ 志愿者招募( NOI2008 ) .doc ??22.00KB │ │ ├─ 志愿者招募( NOI2008 )在线评测 .url ??0B │ │ ├─ 植物大战僵尸( NOI2009 ) .docx ??16.71KB │ │ ├─ 水局部长解题报告 .pdf ??76.96KB │ │ ├─ 破译密码解题报告 .pdf ??56.04KB │ │ ├─ 神经网络( NOIP2003 ) .doc ??46.50KB │ │ ├─ 神经网络( NOIP2003 )在线评测 .url ??0B │ │ ├─ 立体图( NOIP2008 ) .docx ??14.44KB │ │ └─ 立体图( NOIP2008 )在线评测 .url ??0B │ ├─ 部分历年 NOIP 解题报告 │ │ ├─NOIP1997 提高组解题报告 .rar ??12.16KB │ │ ├─NOIP1998 提高组解题报告 .rar ???.65KB │ │ ├─NOIP1999 提高组解题报告 .rar ???.83KB │ │ ├─NOIP2000 提高组解题报告 .rar ???.87KB │ │ ├─NOIP2001 提高组解题报告 .rar ??58.70KB │ │ ├─NOIP2002 提高组解题报告 .rar ??42.22KB │ │ ├─NOIP2004 提高组解题报告 .rar ??34.00KB │ │ ├─NOIP2005 提高组解题报告 .doc ??44.00KB │ │ └─NOIP2008 普及组解题报告 .doc ??64.50KB │ └─ 部分历年 NOI 解题报告 │ ├─ 第二十三届信息学奥林匹克竞赛( NOI )解题报告 .doc ??39.50KB │ ├─ 第二十五届信息学奥林匹克竞赛( NOI ) noi2008answer1.zip ??13.24MB │ ├─ 第二十五届信息学奥林匹克竞赛( NOI ) noi2008answer2.zip ??13.24MB │ ├─ 第二十五届信息学奥林匹克竞赛( NOI ) noi2008answer3.zip ???.52MB │ ├─ 第二十六届信息学奥林匹克竞赛( NOI ) noi2009 Data.zip ??30.76KB │ ├─ 第二十四届信息学奥林匹克竞赛( NOI ) noi2007 A answer.zip ???.58MB │ ├─ 第二十四届信息学奥林匹克竞赛( NOI ) noi2007 B answer.zip ???.80MB │ ├─ 第二十届信息学奥林匹克竞赛( NOI )试题解题报告 .doc ??08.00KB │ ├─ 第十七届信息学奥林匹克竞赛( NOI )解题报告 .doc ??34.50KB │ ├─ 第十九届信息学奥林匹克竞赛( NOI )解题报告 .doc ??43.50KB │ ├─ 第十八届信息学奥林匹克竞赛( NOI )解题报告 .zip ??19.50KB │ └─ 第十六届信息学奥林匹克竞赛( NOI )试题第一试解题报告 .doc ??36.00KB ├─ 历年讲义 │ ├─ 历年讲义测试题 │ │ ├─ 测试 1 │ │ │ ├─data.rar ???.78MB │ │ │ ├─test.doc ??39.00KB │ │ │ └─ 解题报告 .doc ??27.50KB │ │ ├─ 测试 2 │ │ │ ├─data.rar ???.78MB │ │ │ ├─test.doc ??39.00KB │ │ │ └─ 解题报告 .doc ??27.50KB │ │ └─ 测试 3 │ │ ├─data.rar ??23.57MB │ │ ├─solution.rar ??23.75MB │ │ └─ 题目 .doc ??51.00KB │ ├─ 第五章 —— 常用算法与策略 │ │ ├─1— 回溯 │ │ │ └─ 朱全民讲义 —— 回溯法 (23p).pdf ???.02MB │ │ ├─2— 分治 │ │ │ └─ 朱全民讲义 —— 分治法 (56p).pdf ??81.78KB │ │ ├─3— 贪心 │ │ │ ├─ 刘汝佳讲义 —— 贪心法 (13p).pdf ??02.23KB │ │ │ └─ 朱全民 —— 贪心策略 (53p).pdf ???.05MB │ │ └─4— 搜索 │ │ ├─ 朱全民 —— 宽度优先搜索 (24p).pdf ???.01MB │ │ ├─ 朱全民 —— 搜索教案 (99p).pdf ???.47MB │ │ └─ 朱全民 —— 深度搜索及其优化 (62p).pdf ???.40MB │ ├─ 第六章 —— 动态规划 │ │ ├─ 周源 —— 动态规划 (1) (30p).pdf ??91.35KB │ │ ├─ 周源 —— 动态规划 (2) (34p).pdf ??07.60KB │ │ ├─ 周源 —— 动态规划 (3) (29p).pdf ??31.01KB │ │ ├─ 姚金宇 —— 动态规划 (69p).pdf ???.65MB │ │ ├─ 朱全民 —— 动态程序设计 (74p).pdf ??62.79KB │ │ └─ 王建德 —— 动态程序设计 (54p).pdf ??16.88KB │ └─ 第四章 —— 数据结构

Pa ge 4 4

ABC Amber CHM Converter Trial version, http://www.processtext.com/abcchm.html
│ ├─1— 栈 │ │ └─ 栈及其应用 (20p).pdf ??31.67KB │ ├─2— 队列 │ │ ├─ 刘汝佳 —— 可并优先队列 (9p).pdf ??77.31KB │ │ └─ 朱全民 —— 队列及其应用 (16p).pdf ??35.97KB │ ├─3— 树和二叉树 │ │ ├─ 朱全民 —— 二叉树及其应用 (45p).pdf ??31.82KB │ │ ├─ 朱全民 — 树和二叉树及其应用 (20p).pdf ??35.88KB │ │ └─ 王建德 — 树 (59p).pdf ???.10MB │ └─4— 图 │ └─ 王建德 —— 图 (139p).pdf ???.73MB └─ 工具软件

报名电话 / 咨询电话: 010-88400806/88400903 ,传真: 88400706 ; 节假日: (0)13691230868 联系人: 邓老师 张老师 E-MAIL : tsba@topschool.org 高中学科竞赛群主 QQ 号: 706677500

网址: www.topschool.org

Page 45


相关文章:
第十届NOIP复赛试题及答案
NOIP复赛冲刺资料集锦10 45页 免费 NOIP复赛谈 7页 免费 (信息学奥赛辅导)程序设计... 51页 免费 历届NOIp动态规划梳理 54页 免费如要投诉违规内容,请到百度文...
NOIP复赛题集
NOIP复赛冲刺资料集锦10 45页 免费 NOIP+提高组复赛试题汇编(... 32页 免费 NOIP实用算法 33页 免费 NOIP2009普及组复赛试题解... 3页 免费如要投诉违规内容...
备战NOIP2010复赛经验总结分享
NOIP复赛冲刺资料集锦10 45页 免费 NOIP实用算法 33页 免费 NOIP2010集训小资料 13页 免费 历年NOIP(普及组提高组)试... 2页 免费 NOIP复习心得 2页 免费如...
NOIP复赛复习资料汇总
NOIP复赛复习资料汇总_IT认证_资格考试/认证_教育专区。noip复赛资料 ...算 Ee 和 El; var a,b:array [1..10,1..10] of integer; n,last,...
复赛辅导
NOIP复赛冲刺资料集锦10 45页 免费 信息学奥赛复赛辅导策略 6页 5财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。...
NOIP-Pascal
NOIP复赛冲刺资料集锦10 45页 免费 (信息学奥赛辅导)程序设计... 51页 免费 noip pascal语言 动态规划 142页 8财富值 Pascal动态规划 22页 免费 Pascal动态规划...
NOIP C
32页 免费 NOIP实用算法 33页 免费 NOIP复赛冲刺资料集锦10 45页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
NoiP2003提高组复赛试题分析_天津南开中学滕伟
NOIP复赛冲刺资料集锦10 45页 免费 NOIP2008提高组解题报告 13页 免费N​o​i​P​2​0​0​3​提​高​组​复​赛​试​题​分...
NOIP初赛题型分析
3页 免费 NOIP复赛冲刺资料集锦10 45页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
NOIP2011山东赛区复赛通知
NOIP复赛冲刺资料集锦10 45页 免费 CCF NOIP2011复赛提高组部... 6页 免费 ...(NOIP2011 山东赛区)初赛 业已结束, 复赛名单已经确定并经全国 NOI 网站注册,...
更多相关标签: