考试前首先要调整好自己的心态,忘却之前发生的任何事情。
考试前(调试机子)
首先做好所有文件名后缀的关联,将.in,.out的文件关联至Notepad ++。
将.cpp,.pas关联至gvim。
在_vimrc中敲入下面配置信息
1 2 3 4 5 6 7 8 9
| syntax on set nu! colorscheme darkblue
imap <F2> <esc>:w<cr>i imap <F9> <F2><esc>:!fpc -g %<cr>i imap <F10> <F2><esc>:!g++ -Wall -g % -o %:r<cr>i imap <F11> assign(input,'.in');reset(input); imap <F12> freopen(".in","r",stdin);
|
在notepad ++中设置
- 将窗口界面调小
- 配色方案选择blackboard
- 在首选项中设置自动更新文件
打好对拍程序
对拍
1 2 3 4 5 6 7 8 9
| @echo off :loop data.exe>data.in 2.exe<data.in>1.out 22.exe<data.in>11.out fc "1.out" "11.out" if not errorlevel 1 goto loop pause goto loop
|
单测
1 2 3 4 5 6 7
| @echo off :loop data.exe>data.in 1.exe<data.in echo ............. echo. goto loop
|
打好文件输入输出
cpp版本
1 2 3 4 5 6 7 8 9 10 11 12 13
| #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> using namespace std;
int main() { freopen(".in","r",stdin);
return 0; }
|
pascal版本
1 2 3 4 5 6 7
| var i,j,k,m,n:longint; begin assign(input,'.in');reset(input); assign(output,'.out');rewrite(output); close(input);close(output); end.
|
对拍数据生成例程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include <ctime> #include <iostream> #include <windows.h> using namespace std;
int random(int x,int y) { int ret = rand()*rand(); return ret%(y-x+1)+x; }
int main() { srand(time(NULL)); while(1) { cout << random(1,100) << endl; Sleep(100); } return 0; }
|
测试一下g++,fpc,gdb是否可用,若不可用,将环境变量设置一下。
考试中
考试时间3.5小时,有三道题目,注意分配好时间。
- 先浏览三道题目,确保充分理解题目意思,并且能够模拟出样例数据。自己在心中评出试题的难度等级(一般题目顺序就是难度顺序)。最好能够在15分钟完成这部分内容。
- 对每一道题目重新理解后,对照着数据范围想一个暴力可过好打的程序。(作为对拍的标程),然后尽自己所能想一个最好的算法。
- 在样例数据可以过的情况下,手动出一些小数据和一些一般性数据。然后用data生成大数据测试。
- 在暴力确保正确性,且不超过暴力程序的数据范围的情况下,对拍“标程”。
3.在完成并测试过第一题的时间最好在比赛开始后的1个小时内(方便准备后面的题目)
4.第二三题尽量在1个小时之内完成。
5.在考试后的最后10分钟内,停止正在做的题目,将所有的程序文件输入输出改对,去掉调试代码。还有时间在争取能否做完其他题目。
考试后
- 跟同学讨论一下试题,调整好心态,忘掉当天发生的任何事。
- 如果心理素质较好写个总结也是可以的
NOIP知识点
NOIP提高组复赛考察点详细分析(新浪)
noip需要准备哪些方面的基础知识.复赛需要做哪些类型的题目(提高组)(作业帮)