• NOIp考前注意事项


    注意事项

    1. 携带身份证(户口本、护照等)和学生证或学校证明(须贴照片,学校盖骑缝)。
    2. 请认真阅读考生须知,不要犯低级错误。
    3. 可以带点水、干粮。
    4. 考前好好休息,注意身体

    常见错误

    1. 在所有硬盘分区中,D 盘不保护,其他分区保护;
    2. 文件操作要打对,最后上交的时候检查一下有没有写文件操作
    3. 文件夹要建对;
    4. 文件夹名、程序名要打对;
    5. 注意空间限制、时间限制;
    6. 注意 100kb;
    7. 调试信息要删掉;
    8. struct 里面不能初始化变量或数组!(不能直接赋值,要写函数)解释如下:
      捕获.PNG
    9. j0 j1 jn y0 y1 yn time 这些标识符不能作为全局变量名!math.h/time.h/bits/stdc++.h 库里面有!
    10. 头文件 #include<bits/stdc++.h> 中的 ‘/’方向不能弄错!
    11. 使用 freopen 需要包含 stdio.h, cstdio 或 bits/stdc++.h 中的一个
    12. 看题目时不能着急,尽量一字一字地看完,题意一定要仔细阅读;
    13. OI 选手常见作死错误列表 点击查看
      0.jpg

    千叮万嘱

    1. 比赛前一天晚上请准备好你的各种证件,事先查好去往考场的路线
    2. 比赛之前请先调整你的屏幕分辨率到你喜欢的大小
    3. 比赛之前请把编译器的字体调为你平时惯用的字体,尤其是注意这种字体中的逗号&点, 1&l 这种易混淆的字是不是区分明显
    4. 在不影响视野的情况下,请将字号尽可能调大,方便查错
    5. 请将题目通读完以后,再开始深入思考你认为最容易的一道题
    6. 即使这道题再容易,也不要着急写代码,请先明确自己每一步要干什么后,再开始写,轻敌会是你最大的错误。
    7. 即使这道题看起来再没法做,也不要提早放弃,这个时候纸和笔会是你最好的朋友,自己尝试几个例子,也许你就会找到答案
    8. 请一定先明确自己要干什么之后再写程序,不要走一步想一步
    9. 如果这是一道动态规划题,请先把转移方程写在纸上再编程
    10. 涉及到边界处理、加一减一之类的问题,请在纸上举个例子,标上下标以后,在编程时 参照纸上的下标写
    11. 如果思考 30 分钟仍一头雾水,没有可以实现的算法,请你果断屏蔽掉 100%的那一栏数据,开始写 60%,50% 乃至 30%的算法——在 NOIP 里面,30 分绝不是小数目
    12. 几个常用的复杂度参考:
      • 10 以下——n
      • 10 到 20 —— 3^n
      • 10 到 25——2^n
      • 30 到 50 2^(n/2)(折半搜索)
      • 100 以下——可能是深搜
      • 100 到 500——N^3
      • 1000 到 5000——N^2
      • 100000 到 500000——NlogN
      • 500000 以上——N 或 log N 或 1 ;
    13. 如果你发现你旁边的人写得很快,请你放心,他的算法十有八九是错的
    14. 虽然 1s+128MB 内存 (这是以前的了,现在应该是 1s + 256MB) 是标准配置,不过也不是每道题都是这样的,还是请认真阅读试卷首页的试题说明
    15. 计算内存的方法:数组大小*类型长度/1000/1000=所占内存 MB 数,int(Pascal:longint) 类型长度是 4, long long (Pascal: int64) =8 。记不住的话,记住 int (Pascal: longint) 型数组在 128MB 内存下最大开到 2500 0000 是比较保险的(占 100MB 内存)
    16. 写完程序之后,请一定不要忙着编译,请一定要将你的代码从头到尾通读一遍,也就是 静态查错,这是整个编程过程中最重要的步骤,有的变量重复调用问题调试的话,一个小时 也看不出来,静态查错可以一下指出错误
    17. 静态查错请注意以下方面
      • 是否写上了 using namespace std? (这是 C++ 的,Pascal 就不用了)
      • 数组开得是否够大?
      • 变量类型是否正确?
      • memset 时, 所填的 sizeof(XX)的 XX 是不是匹配?大小是不是正确? (Pascal 是 fillchar)
      • 外层循环与内层循环的 i,j 是不是混用了?
      • 循环之前,i,j 是否定义了?
      • 输入 数据都输入了吗?
      • 这个程序是在执行你想让它执行的步骤吗?
      • 变量是否重名
    18. 通过样例后,请你一定不要放松警惕,因为样例并不能覆盖所有的情况,请自己设计对拍程序
    19. 如果出现问题,请你调试你的程序,请一定要分模块调试,不要从头跟到尾
    20. 如果你已经设计不出能卡住你的程序的数据,恭喜你可以做下一题了
    21. 为了万无一失,请你用 return 0 结束你的程序 ( 同样 , 针对 C/C++ ,建议是必须 加上 )
    22. 在内存允许的情况下,能开普通队列就不要用循环队列,能开下普通数组就不要用滚动数组
    23. 在时间允许的情况下,能暴力就暴力
    24. 总之,在不超限制的前提下,能不优化就不优化,以减少代码量和出错概率为第一原则
    25. 当比赛还剩下 5~15 分钟的时候,请不要再改动你的程序,即使你怀疑它对你的一个输入 给出了错误答案,因为你自己算出的结果也有可能是错的
    26. 这个时候请你检查是否注释掉了该注释掉的东西,文件名是否写对,文件夹是否建对, 请一定反复检查!
    27. 其他:比赛秘笈
  • 相关阅读:
    移动端疫情展示
    第四周学习总结
    构建之法阅读笔记二
    第三周学习总结
    AJAX学习篇
    jQuery学习篇
    软件工程开课第二周——介绍篇
    【Spring】DispatcherServlet的启动和初始化
    【设计模式】模板方法模式小解
    【Mybatis】MyBatis调用带有返回结果、output参数的存储过程上与ibatis的区别
  • 原文地址:https://www.cnblogs.com/hkxadpall/p/9935879.html
Copyright © 2020-2023  润新知