1. 程式人生 > >NOIP2018 No regrets youth

NOIP2018 No regrets youth

專註 答題 經典 操作 c中 意思 閱讀 a算法 錯題

NOIP2018在即,20181009總結一些易錯的知識點和解題方法

——by ljc20020730 HGOI

  • NOIP2018 No regrets youth !
  • NOIP2018 No regrets youth !
  • NOIP2018 No regrets youth !

解題方法概述

  • 選擇題(總分15+5共30分)

目標得分: 35.5

時間控制:25 min

解題方法:

  1. 註意審題(如NOIP2016 T2 別把CapLock當作輸出),仔細解答
  2. 程序模型題看清楚算法思想,保證拿分
  3. 樹的題目盡量帶特殊數據,加快解題速度
  4. 抓住題目關鍵性字眼,如非聯通,正確還是錯誤,有關還是無關,包括和不包括,是還是不是,行優先還是列優先,
  5. 關註選項的互譯性,意思相同的選項作為單選題盡量不要斟酌
  6. 分清楚一些已經錯過的題目如插入排序和選擇排序的原理問題,sin(sin(x))不是遞歸,二次探測的意思,散列的意思,子串包含空串
  7. 註意控制答題時間以免後面的大題分數沒有仔細斟酌,這裏其實並拉不開差距
  8. 一些斟酌的計算機基礎知識的題目一定一定要專註於第一選項
  9. 實在不行統計ABCD一般來說ABCD選項都是較為平均的分配的
  10. 簡單數學題不要花費大量時間註意采用驗證法和歸謬法和特殊值法來做(一定要看Master 算法)
  • 問題解決題(2題,共10分)

目標得分: 5-10

時間控制:20 min

註意一些常用的數學遞推結論,

  1. 卡特蘭數列(C(2*n,n)/(n+1))
  2. 錯排遞推式f(n)=(n-1)*(f(n-1)+f(n-2),f(1)=0,f(2)=1)
  3. 等比數列求和公式 (an=a1*q^(n-1),S=a1(1-q^n)/(1-q))
  4. 第二類斯特林數(n個不同的球,放入m個無區別的盒子,不允許盒子為空,S(n,m)=S(n-1,m-1)+m*S(n-1,m))
  5. 重排列公式(a1+a2+a3...+an)!/(t1!*t2!*t3!...*tn!)
  6. 第二類斯特林數的pascal三角
         1    2     3    4    5     6    7    8
    1    1    
    2    1    1    
    3    1    3    
    4    1    7    6    1    
    5    1    15   25   10    1    
    6    1    31   90   65    15    1    
    7    1    63   301  350   140   21   1    
    8    1    127  966  1701  1050  266  28   1

  7. 問題解決不一定是組合數,在情況復雜的情況下找找規律,不要急於暴
  8. 不會做想Dp,比如一些n個蘋果放到m個盤子裏,考慮這樣一個遞推:
int f(int m,int n)
{
    if (m==0||n==1)  return 1;
    if (m<n) return f(m,m);
    if (m>=n) return f(m,n-1)+f(m-n,n);
}

對於一些最少最多的題目好好想想反例千萬不要急於下筆,一般來說最值問題答案都是和第一次算出來的答案不相符合(真的沒有更多了嘛?有沒有反例?)
對於結論題千萬不要相信自己第一次猜出的結論積極找反例
暴力枚舉講究方法有次序(如NOIP2017 T2暴力枚舉上邊和下邊出錯幾率比較小)

  • 閱讀程序題(共4題共32分)

目標得分:32

時間控制:35 min

  1. 對於簡單題千萬不要大意在這裏丟分基本復賽沒戲(我易人易,我難人難)
  2. 註意隱藏在模擬條件中的優先級別(先算and再算or,xor)和取模運算(a%b=c中c的符號永遠和a的符號相同)的事情
  3. 註意列表法盡量保證第一遍就算對,對於不確定的復雜的推算的題目一定不能盲目找規律,盡量多推幾遍,減少失誤
  4. 猜測題目的意思如最小生成樹、dijkstra算法最短路、哈密頓路徑(找一條路徑使每個節點恰好出現一次)
  5. 通過小樣例模擬推大數據(找一些線性規律)
  6. 遞歸題目細心算列樹形圖
  7. 一些經典的問題:排序算法、約瑟夫問題(Jq(n+1) = ( Jq(n) + q ) / (n+1))
  8. 特征方程:

    f(0),f(1)已知 f(n)=c1*f(n-1)+c2*f(n-2) , 求出f(n)通項公式

    解出 x2-c1*x-c2 = 0 的解 x1 和 x2

    若 x1=x2 那麽 f(n)=(A+B*n)*x1n

    若 x1!=x2 那麽 f(n)=A*x1n+B*x2 n

  • 程序填空題(共28分)

目標得分:24

時間控制:30 min

  1. 第1遍能填的填保證簡單的填對
  2. 第2遍根據算法思想推敲或者模擬計算規律或者根據數據結構做一定的操作
  3. 關註初始化和條件語句(可以參考上下文),註意調用時參數的問題要仔細考慮
  4. 分值特別標明的空格要格外當心
  5. 第3遍一定一定要重新理清思路檢查一遍
  • 考場策略
  1. 帶(*)純凈水、餐巾紙、鉛筆、橡皮、水筆、準考證
  2. 提前半個小時一定要到達考場提早進入狀態
  3. 考試之前不要劇烈運動,最好做幾道信心題或者復習錯題
  4. 減少答題時的幹擾比如喝水、上廁所
  5. 做好後一定要重點檢查閱讀程序和問題解決,盡量減少這裏的失分
  • NOIP2018 No regrets youth !
  • NOIP2018 No regrets youth !
  • NOIP2018 No regrets youth !

NOIP2018 No regrets youth