noip2012考前必读。
镇江一中oi小组。
内部资料版权所有翻印必究)
目录。编程过程中常犯的错误 1
考试过程中的注意事项 2
noip常用数据结构及算法。
1. 数据结构部分 3
1) heap(堆结构) 3
2) segment-tree(线段树) 4
3) bit(树状数组) 5
4) bst(二叉查找树) 5
/bst支持插入、按关键字查找、按排名查找 5
/bst可进阶至splay/sbt/**l/treap 5
5) 并查集 6
6) 哈希表 6
2. 动态规划部分 6
1) 01背包 6
2) 多重背包 6
3) 无限背包 6
4) 区间dp 7
5) 线性dp 7
3. 图论部分 7
1) 最短路(floyd/dijstra+heap/spfa/bellman-ford) 7
2) 最小生成树 8
3) 拓扑排序 9
4. 数学部分 9
1) 快速幂 9
2) 筛分求质数 10
4) 组合数计算 10
5) 中国剩余定理 11
5. 杂项部分 12
1) kmp 12
2) 表达式计算 12
3) 匈牙利算法 14
4) 二分框架 14
附录。附录一:关于noip复赛阶段若干问题的重申与说明 16
附录二:关于noip2012复赛数据提交格式的说明 17
附录三:noip复赛考生须知 18
附录四:苏信奥委〔2012〕22号复赛通知(部分) 19
编程过程中常犯的错误。
1. 文件名错误。
文件名包括源文件的名称、输入和输出文件的名称。编程过程中要看清题目,确认无误后再使用,能复制的一定复制。考试结束前再核对一次。确保文件名的绝对正确。
注意标点符号一样不能错,不能把 . 打成 ,
2. 提交格式错误。
正确提交是保证程序正确编译的必要条件。考试结束前一定要按照文件要求认真核对提交格式,包括字母大小写、文件夹嵌套等细节问题,上传时按照监考老师的安排,认真操作,确认上传无误后,再离开考场。
3. 变量错误。
1 变量没有初始化。
2 变量名称混乱。
3 循环或递归中变量没有及时修改维护。
4. 数组范围。
1 数组溢出。(特别注意下界的设置,有没有0或者负数的可能)
2 数组开得过大,爆空间。(在定义数组时一定要预估数组的空间大小)
5. 没有特判,导致诸如除数为0一类的错误。
6. 没有使用int64,导致中间过程越界。
7. 没有及时删除调试信息。
8. 文件的输入和输出错误,在退出程序时文件没有及时关闭。
9. 交错文件,把备份文件上传。
10. 题目看错了,写出的程序还能通过样例。
不要主观增加题目条件,比如主观认为输入数据有序。
考试过程中的注意事项。
考试之前。1. 前一晚睡觉前准备好所有的物品。
2. 早睡早起,保持充足睡眠,放松心情。
3. 进机房前检查好地形,厕所是重中之重。
4. 按照要求有序进入机房,找到自己的座位,核查相关信息。
15分钟试机。
1. 将身份证、文具等物品放在合适的位置上。
2. 了解机器基本情况,如:cpu,memory,还原卡设置。
3. 敲**检验键盘是否可接受,完整检查键盘所有的键位。
4. 调节操作系统设置,如:显示后缀名,in文件和out文件的关联程序。
5 重装fp2.4.0,调整fp设置。
6. 编写一段**,如快排程序,检查fp的编译是否正常。
考试开始。考试开始后,建议按照以下策略操作:
1. 花费30-40分钟认真阅读所有试题,把题目看仔细再做,不要着急动键盘。
2. 根据自己对题目难易的判断,选择正确的做题顺序。
3. 优先保证小数据的正确性,有能力再进行数据优化。
4. 快排必须随机,高精度必须压位。在保证书写正确的前提下,常用程序段必须最优化。
5. 思路不清晰或无思路时,可上厕所清醒一下。
6. 该骗分就骗分,该暴力时就暴力,能力有大小,态度上要求每分必争。
7. 多备份,备份时用显著的文件名标识。
考试结束前15分钟。
1. 停止敲击**。
2. 检查文件名和提交格式。
3. 除已确定的致命错误,严禁修改**。
考试结束后。
1. 以放松为主,适度交流题目。
2. 无论怎样都要淡定,准备下一场考试。
noip常用数据结构及算法。
1. 数据结构部分。
1) heap(堆结构)
/heap中的堆是大根堆,小根堆的写法可以模仿其得到。
program heap();
constsize=1000000;
varheap: array [0..size] of longint;
procedure down(x: longint);
vari, j, t: longint;
stop: boolean;
begini:=x;
stop:=false;
while not stop and (i+i<=heap[0]) do
beginj:=i+i;
if (j+1<=heap[0])
and (heap[j+1]>heap[j])
then inc(j);
if heap[j]>heap[i]
then begin
t:=heap[j];
heap[j]:=heap[i];
heap[i]:=t;
i:=j;end
elsestop:=true;
end;end;
procedure up(x: longint);
vari, j, t: longint;
begini:=x;
while i>1 do
beginj:=i div 2;
if heap[j]then begin
t:=heap[j];
heap[j]:=heap[i];
heap[i]:=t;
i:=j;end
elsebreak;
end;end;
procedure pop();
beginheap[1]:=heap[heap[0]];
dec(heap[0]);
down(1);
end;procedure push(x: longint);
begininc(heap[0]);
heap[heap[0]]:x;
up(heap[0]);
end;function top():longint;
begintop:=heap[1];
end;begin
end.2) segment-tree(线段树)
program segment-tree();
const inf=maxlongint div 2;
typenode=record
min: longintid: longint;
l, r: longint; lc, rc: longint;
end;var
n, m, w, i, cnt: longint;
root, free: longint;
pool: array [1..400000] of node;
x, y: longint;
t, p: longint;
function build(l, r: longint): longint;
var p: longint;
begininc(free);
p:=free;
pool[p].min:=0; pool[p].id:=l;
pool[p].l:=lpool[p].r:=r;
if l+1=r
then begin
pool[p].lc:=0;
pool[p].rc:=0;
endelse begin
pool[p].lc:=build(l, (l+r) div 2);
pool[p].rc:=build((l+r) div 2, r);
end;exit(p);
end;procedure modify(root, p, d: longint);
beginif pool[root].l+1=pool[root].r
then begin
pool[root].min:=pool[root].min+d;
信息技术目标考核准备目录
格尔木市实验小学。2011年格尔木市实验小学信息技术工作领导小组。格尔木市实验小学信息技术十二五发展规划。格尔木市实验小学信息技术考核办法。格尔木市实验小学信息技术经费投入一览表。格尔木市实验小学信息技术管理制度。格尔木市实验小学设备运行记录。教师培训考勤登记表 教研活动记录表 设备保养 维护登记表...
2024年兴宏程二级机电实务考前信息
二级机电实务考前信息。p3 3.常见的测量仪器。全站仪是一种采用红外线自动数字显示距离的是测量仪器。采用全站仪进行水平距离测量,主要应用于建筑工程平面控制网水平距离的测量及测设 安装控制网的测设 建安过程中水平距离的测量等。s3光学水准仪主要应用于建筑工程测量控制网标高基准点的测设及厂房 大型设备基...
信息技能知识竞赛通知
关于举办绍兴文理学院元培学院第二届学生专业技能大赛。之信息技能知识竞赛的通知。为提高广大学生在信息化时代对信息知识的认知,同时加强在信息化产业中的实践应用能力,激发学生的创新能力和团队合作意识。特举办信息技能知识竞赛。具体事宜通知如下 一 参赛对象 元培学院全体在校学生。二 竞赛内容 初赛以笔试的形...