zoukankan      html  css  js  c++  java
  • CSP/NOIP 防爆指南

    CSP/NOIP 防爆指南

    一、文件操作

    1. 使用 freopen 进行文件读写。使用格式:

      freopen("test.in","r",stdin);
      freopen("test.out","w",stdout);
      

      注意该语句存在于头文件 cstdio 中,一定写对文件名。

    2. 注意加足加够头文件。(dev 比较欠,可能会自动加头文件。)

    3. 允许使用 C++14 和以下划线开头的函数(意味着 __int128__builtin_popcount()__builtin_ctz() , 都合法了)。

    4. 听从监考老师要求,根据老师的要求存放文件。(一般是在 D 盘根目录下,以 SD-00000XXX 为名字建立一个文件夹,文件夹下分四道题目的文件夹,这四个文件夹内各自存放一个源程序。)

    5. 使用万能头时注意变量重名,如 y1 。

    二、常见问题

    1. 计算数据大小,是否爆 int ,注意 %d 与 int 对应, %lld 与 long long 对应,改 float 为 double ,%lf 与 double 对应。可以引用 limits.h 头文件,输出 INT_MAXLONG_LONG_MAX 来查看 int 和 long long 的最大值。int 大约为 2e5 , long long 大约为 5e18 。
    2. 注意定义数据的类型。(小心 double 定义成 int , int 定义成 char 等问题。)
    3. 注意 MLE / RE ,一个 int 为 4B , 一个 long long 为 8B , bool 与 char 为 1B ,不要开小导致 RE 或 开大 导致 MLE。常见的 RE 错误还有除以 0 ,函数递归死循环。
    4. i++i-- 是先调用后加减,++i--i 反之。注意 <= 与 < , >= 与 > 。
    5. 位运算优先级问题。
    6. 全局变量和局部变量冲突问题。
    7. 涉及取模的问题,能多模不少模,需要卡常时可以采取减法。涉及乘法建议强制转 long long 或 乘 1ll
    8. 二分和递归边界。
    9. 各种模板背熟、尽量理解原理(为了魔改)。

    三、比赛策略

    1. 本条目针对 CSP/NOIP 常见题型。
    2. 大模拟:权衡时间,取性价比高的部分分。
    3. 数学、规律题:证明 or 猜测。(如小凯的疑惑。)
    4. DP、图论:重中之重,属于主要做的题目。
    5. 永远记住暴力和骗分。
    6. 在空余的时间对拍、自造大样例确保程序正确性。
    7. 最后 30min 检查程序是否正确提交。

    四、考试状态

    1. CSP-S2 是下午比赛,因此中午不能吃太饱、建议小睡一会。
    2. 考试时允许带食品,建议巧克力。
    3. “厕所是 OIer 灵感的源泉。”洗手间可以让人冷静下来。
    4. 一定合理安排时间,不能炸心态,不能死磕一题。

    以上根据作者诸多爆炸经历总结得出。

    [By ext{ } ahawzlc ext{ } 2021.10.17 ]

    任何一个伟大的计划,都有一个微不足道的开始
  • 相关阅读:
    Mybatis框架学习笔记一(基于注解的配置)
    HDU 1686 Oulipo (KMP模板题)
    监控Windows性能指标
    Locust设置检查点
    《TCP/IP网络编程》读书笔记
    基于单向链表的队列的实现
    windows下基于异步通知IO模型的回声服务器和客户端的实现
    c语言实现迭代器iterator
    c语言hash表的实现
    c语言双向链表的实现
  • 原文地址:https://www.cnblogs.com/ahawzlc/p/15418146.html
Copyright © 2011-2022 走看看