zoukankan      html  css  js  c++  java
  • CSP 考试注意事项

    后天就是 CSP 了 qaq,紧张的一批,写个注意事项提醒自己也帮助别人(

    1. CSP 是允许带食品和饮料的,所以可以带一些巧克力等进入考场补充体力。我是不会告诉你我去年因为一边吃一边打字打错变量抱灵的。
    2. 重要的事情说三遍,一定要写 $ ext{freopen}$!一定要写 $ ext{freopen}$!一定要写 $ ext{freopen}$!如果忘了,格式:
      freopen("***.in", "r", stdin);
      freopen("***.out", "w", stdout);
    3. $ ext{freopen}$ 一定要写头文件 $ ext{cstdio}$!如果记不住尽量写万能头:
      #include <bits/stdc++.h>
    4. 看清楚数据范围,该开 $ ext{LL}$ 的一定要开,如果空间足够就都开上 $ ext{LL}$。数组空间不要开小。线段树开 $4$ 倍,无向图开 $2$ 倍。如果担心 $0$ 写少,同下面第 $5$ 条。如:
      const int N = 1e5 + 5;
      int a[N];
    5. 有些输出方式,如取模,一定不要忘记写。模数尽量写 $1e9+7$ 这种形式,不要抄错了。
    6. 如果实在不会,一定要打暴力拿分。或许你能从暴力想到复杂度更优的解法或正解。
    7. 如果大样例过不了,提前特判大样例,有可能在评测数据中。去年我就判样例拿了 $25pts$。
    8. 有的时候卡在解题思路或一段代码的写法,不妨去上个厕所,那里能给你一个更安静的思考环境。据说很多神仙都是在厕所想出的正解。不要去太久了被误认为是作弊(雾
    9. 双下划线的函数一定不要用,如
      int Gcd = __gcd(x, y);

      而一定要手写:

      int gcd(int x, int y) { return !y ? x : gcd(y, x % y); }
      
      // ...
      
      int Gcd = gcd(x, y);
    10. 不要用 $ ext{cmath}$ 库的 $ ext{abs}$ 函数。要用可以用 $ ext{cstdlib}$ 库的 $ ext{abs}$ 函数(仅支持整数)或自己手写。
      int My_Abs(int x) { return x < 0 ? -x : x; }
    11. 若需要输出 $ ext{YES}$ 或其它,注意大写问题($ ext{yes}$,$ ext{Yes}$,$ ext{YES}$)。
    12. 尽量不用 $ ext{float}$,用 $ ext{double}$。
    13. 当指数为整数时尽量不用 $ ext{pow}$ 函数,自己手写快速幂。
      ll qpow(ll n, ll base, ll mod) {
          ll ret = 1;
          while(n) {
              if(n & 1) ret = ret * base % mod;
              base = base * base % mod;
              n >>= 1;   
          }
          return ret;
      }
    14. $ ext{scanf}$ 类型记得不要写错,如:
      long long x;
      scanf("%d", &x); // Should be scanf("%lld", &x);
      printf("%d", x); // Should be printf("%lld", x);
    15. 代码比较长的话记得保存。
    16. $ ext{freopen}$ 文件名不要写错,文件夹记得建好。
    17. 有的考场不让使用 Dev-C++,所以不要随便退出 Linux 虚拟机(以防万一)。
    18. 如果写完了正解并且数据跑过了,可以写份暴力,造数据对拍。对拍过程可以自己百度,有很多种方法,这里不写了。
    19. 注意变量名敏感,如 $ ext{y0, time, next, max, min}$,可以改为 $ ext{yy, tim, nxt, mx, mn}$ 等。(感谢 @Gin_a)
    20. 有的时候输出可能会是 $ ext{Ye5 / N0}$,注意不要写错了(然而 CCF 应该不会整这些阴间的东西)(感谢 @_Reaper_)
    21. 打表出省一,有些数据范围小,自己程序过不了的可以考虑本地运行打表。(再次感谢 @Gin_a)

      大概就是这样了,如果有什么想要补充的可以评论或洛谷私信@BreezeEnder,我会补充上并真心感谢您。

  • 相关阅读:
    MyBatis学习总结(11)——MyBatis动态Sql语句
    MyBatis学习总结(11)——MyBatis动态Sql语句
    Dubbo学习总结(3)——Dubbo-Admin管理平台和Zookeeper注册中心的搭建
    Dubbo学习总结(1)——Dubbo入门基础与实例讲解
    Dubbo学习总结(1)——Dubbo入门基础与实例讲解
    Maven学习详解(13)——Maven常用命令大全与pom文件讲解
    3分钟了解ServiceStage 应用智能化运维【华为云分享】
    OBS带你玩转图片
    高性能Web动画和渲染原理系列(3)——transform和opacity为什么高性能
    【Python成长之路】Python爬虫 --requests库爬取网站乱码(xe4xb8xb0xe5xa)的解决方法
  • 原文地址:https://www.cnblogs.com/BreezeEnder/p/13932123.html
Copyright © 2011-2022 走看看