CSP 考試注意事項


后天就是 CSP 了 qaq,緊張的一批,寫個注意事項提醒自己也幫助別人(

 

  1. CSP 是允許帶食品和飲料的,所以可以帶一些巧克力等進入考場補充體力。我是不會告訴你我去年因為一邊吃一邊打字打錯變量抱靈的。
  2. 重要的事情說三遍,一定要寫 $\text{freopen}$!一定要寫 $\text{freopen}$!一定要寫 $\text{freopen}$!如果忘了,格式:
    freopen("***.in", "r", stdin);
    freopen("***.out", "w", stdout);
  3. $\text{freopen}$ 一定要寫頭文件 $\text{cstdio}$!如果記不住盡量寫萬能頭:
    #include <bits/stdc++.h>
  4. 看清楚數據范圍,該開 $\text{LL}$ 的一定要開,如果空間足夠就都開上 $\text{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. 不要用 $\text{cmath}$ 庫的 $\text{abs}$ 函數。要用可以用 $\text{cstdlib}$ 庫的 $\text{abs}$ 函數(僅支持整數)或自己手寫。
    int My_Abs(int x) { return x < 0 ? -x : x; }
  11. 若需要輸出 $\text{YES}$ 或其它,注意大寫問題($\text{yes}$,$\text{Yes}$,$\text{YES}$)。
  12. 盡量不用 $\text{float}$,用 $\text{double}$。
  13. 當指數為整數時盡量不用 $\text{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. $\text{scanf}$ 類型記得不要寫錯,如:
    long long x;
    scanf("%d", &x); // Should be scanf("%lld", &x);
    printf("%d", x); // Should be printf("%lld", x);
  15. 代碼比較長的話記得保存。
  16. $\text{freopen}$ 文件名不要寫錯,文件夾記得建好。
  17. 有的考場不讓使用 Dev-C++,所以不要隨便退出 Linux 虛擬機(以防萬一)。
  18. 如果寫完了正解並且數據跑過了,可以寫份暴力,造數據對拍。對拍過程可以自己百度,有很多種方法,這里不寫了。
  19. 注意變量名敏感,如 $\text{y0, time, next, max, min}$,可以改為 $\text{yy, tim, nxt, mx, mn}$ 等。(感謝 @Gin_a)
  20. 有的時候輸出可能會是 $\text{Ye5 / N0}$,注意不要寫錯了(然而 CCF 應該不會整這些陰間的東西)(感謝 @_Reaper_)
  21. 打表出省一,有些數據范圍小,自己程序過不了的可以考慮本地運行打表。(再次感謝 @Gin_a)

  大概就是這樣了,如果有什么想要補充的可以評論或洛谷私信@BreezeEnder,我會補充上並真心感謝您。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM