NOIP前必须记住的30句话
NOIP前必须记住的30句话
1.比赛前一天晚上请准备好你的各种证件,事先查好去往考场的路线
2.比赛之前请先调整你的屏幕分辨率到你喜欢的大小
3.比赛之前请把编译器的字体调为你平时惯用的字体,尤其是注意这种字体中的逗号,点,1,l这种易混淆的字是不是区分明显
4.在不影响视野的情况下,请将字号尽可能调大,方便查错
5.请将题目通读完以后,再开始深入思考你认为最容易的一道题
6.即使这道题再容易,也不要着急写代码,请先明确自己每一步要干什么后,再开始写,轻敌会是你最大的错误
7.即使这道题看起来再没法做,也不要提早放弃,这个时候纸和笔会是你最好的朋友,自己尝试几个例子,也许你就会找到答案
8.请一定先明确自己要干什么之后再写程序,不要走一步想一步
9.如果这是一道动态规划题,请先把转移方程写在纸上再编程
10.涉及到边界处理、加一减一之类的问题,请在纸上举个例子,标上下标以后,在编程时参照纸上的下标写
11.如果思考30分钟仍一头雾水,没有可以实现的算法,请你果断屏蔽掉100%的那一栏数据,开始写60%,50%乃至30%的算法——在NOIP里面,30分绝不是小数目
12.几个常用的复杂度参考:100以下——可能是搜索;100~500——N^3,1000~5000——N^2,100000~500000——NlogN,500000以上——N或1
13.如果你发现你旁边的人写得很快,请你放心,他的算法十有八九是错的
14.虽然1s+128MB内存 (这是以前的了,现在应该是 1s + 256MB) 是标准配置,不过也不是每道题都是这样的,还是请认真阅读试卷首页的试题说明
15.计算内存的方法:数组大小*类型长度/1000 / 1000=所占内存MB数,int(Pascal:longint)类型长度是4, long long (Pascal: int64) =8
16.记不住的话,记住int (Pascal: longint) 型数组在128MB内存下最大开到2500 0000是比较保险的(占100MB内存)
17.写完程序之后,请一定不要忙着编译,请一定要将你的代码从头到尾通读一遍,也就是静态查错,这是整个编程过程中最重要的步骤,有的变量重复调用问题调试的话,一个小时也看不出来,静态查错可以一下指出错误
18.静态查错请注意以下方面:
(1)是否写上了using namespace std? (这是C++的,Pascal就不用了)
(2)数组开得是否够大?
(3)变量类型是否正确?
(4)memset时,所填的sizeof(XX)的XX是不是匹配?大小是不是正确? (Pascal 是 fillchar)
(5)外层循环与内层循环的i,j是不是混用了?
(6)循环之前,i,j是否定义了?
(7)输入数据都输入了吗?
(8)这个程序是在执行你想让它执行的步骤吗?
19.通过样例后,请你一定不要放松警惕,因为样例并不能覆盖所有的情况,请自己设计几组数据,争取卡死你的程序
20.如果出现问题,请你调试你的程序,请一定要分模块调试,不要从头跟到尾
21.如果你已经设计不出能卡住你的程序的数据,恭喜你可以做下一题了
22.如果你用的是windows,请你注意把system(“pause”)注释掉 ( 针对C/C++,Pascal 不存在 )
23.为了万无一失,请你用return 0结束你的程序 ( 同样 , 针对 C/C++ ,建议是必须加上 )
24.在内存允许的情况下,能开普通队列就不要用循环队列,能开下普通数组就不要用滚动数组
25.在时间允许的情况下,能暴力就暴力,高精度能不压位就不压位,优化不需要的就不要
26.总之,在不超限制的前提下,能不优化就不优化,以减少代码量和出错概率为第一原则
27.当比赛还剩下5~15分钟的时候,请不要再改动你的程序,即使你怀疑它对你的一个输入给出了错误答案,因为你自己算出的结果也有可能是错的
28.这个时候请你检查是否注释掉了该注释掉的东西,文件名是否写对,文件夹是否建对,请一定反复检查!
29.今年赛制更改,没有人知道究竟会变成什么样,所以,与其瞻前顾后,不如集中精力做出你眼前的题目来的实际
30.请记住,NOIP不怕暴力,怕瞎算,不怕不会,怕不敢,有时间的话一定要写一个暴力程序去对拍,验证算法的正确性
NOIP前必须记住的30句话的更多相关文章
- 两句话帮你彻底记住gdb之eXamining memory
对于刚学习Unix/Linux环境C编程的小朋友们或者写了很多所谓的C代码的老手们(其实很可能是机械程序员或者是伪程序员)来说,要记住gdb的eXaming memory的语法其实是相当不容易的,如果 ...
- "What's your problem?"记住!聊天千万不能用这句话!
"What's your problem?"记住!聊天千万不能用这句话! 2018-01-05 19:21 这个世界套路太多 学英语也不例外 一不留神就陷入套路里 有一种痛叫做“ ...
- 五句话搞定JavaScript作用域
JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一.“JavaScript中无块级作用域” 在Java或C# ...
- 【】五句话搞定JavaScript作用域
JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一.“JavaScript中无块级作用域” 在Java或C# ...
- JS作用域就这么几句话
JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一.“JavaScript中无块级作用域” 在Java或C# ...
- 五句话搞定JavaScript作用域(ES5)
JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一.“JavaScript中无块级作用域” 在Java或C# ...
- 5句话搞定ES5作用域
JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一.“JavaScript中无块级作用域” 在Java或C# ...
- 神级程序员通过两句话带你完全掌握Python最难知识点——元类!
千万不要被所谓"元类是99%的python程序员不会用到的特性"这类的说辞吓住.因为 每个中国人,都是天生的元类使用者 学懂元类,你只需要知道两句话: 道生一,一生二,二生三,三生 ...
- Noip前的大抱佛脚----Noip真题复习
Noip前的大抱佛脚----Noip真题复习 Tags: Noip前的大抱佛脚 Noip2010 题目不难,但是三个半小时的话要写四道题还是需要码力,不过按照现在的实力应该不出意外可以AK的. 机器翻 ...
随机推荐
- javase(10)_多线程基础
一.排队等待 1.下面的这个简单的 Java 程序完成四项不相关的任务.这样的程序有单个控制线程,控制在这四个任务之间线性地移动.此外,因为所需的资源 ― 打印机.磁盘.数据库和显示屏 -- 由于硬件 ...
- iOS之WKWebView
Xcode8发布以后,编译器开始不支持IOS7,所以很多应用在适配IOS10之后都不在适配IOS7了,其中包括了很多大公司,网易新闻,滴滴出行等.因此,我们公司的应用也打算淘汰IOS7. 支持到IOS ...
- CSS规范(OOCSS SMACSS BEM)
Css规范 OOCSS SMACSS BEM OOCSS(Object Oriented CSS)面向对象的css 主要分成四个部分 Template :模板 Grids :栅格布局 Module : ...
- 对于WebAssembly编译出来的.wasm文件js如何调用
WebAssembly也叫浏览器字节码技术 这里就不过多的解释了网上很多介绍 主要是让大家知道在js里面如何调用执行它,我之前看WebAssemblyAPI时候反正是看得一脸懵逼 也是为了大家能更快的 ...
- MySql中引擎
1. InnoDB 引擎 MySQL 5.5 及以后版本中的默认存储引擎,它的优点如下:灾难恢复性好,支持事务,使用行级锁,支持外键关联,支持热备份. InnoDB引擎中的表,其数据的物理组织形式是簇 ...
- 【单调栈 动态规划】bzoj1057: [ZJOI2007]棋盘制作
好像还有个名字叫做“极大化”? Description 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源 于易经的思想,棋盘是一个8*8大小的黑白相间的 ...
- python爬虫基础08-selenium大全2/8-Chrome Webdriver启动选项
Selenium笔记(2)Chrome Webdriver启动选项 本文集链接:https://www.jianshu.com/nb/25338984 在Selenium中使用不同的Webdriver ...
- selenium总结(持续更新)
1.怎么 判断元素是否存在? 如果这个元素不存在, 就会抛出NoSuchElementException,可以通过使用try catch,如果catch到NoSuchElementException ...
- leetcode-3-basic-divide and conquer
解题思路: 因为这个矩阵是有序的,所以从右上角开始查找.这样的话,如果target比matrix[row][col]小,那么就向左查找:如果比它大,就 向下查找.如果相等就找到了,如果碰到边界,就说明 ...
- TOJ 2541: Paper Cutting
2541: Paper Cutting Time Limit(Common/Java):1000MS/10000MS Memory Limit:65536KByteTotal Submit: ...