NOIP2017賽前考試注意事項總結


   考前:

  考試前把讀入優化和庫以及對拍文件打好做好准備工作,另外注意放松心態,太緊張了肯定考不好··將自己的注意力集中起來

   考場策略:

  考試的基本策略是對每於道題先想個20分鍾,如果想不出個靠譜的方法就把趕緊暴力打了一定要打暴力,想不出正解要打暴力,想出了正解對拍也要打暴力,而且把暴力打了之后心里都踏實得多··起碼保底了,打完后再想正解.

    題目思考:

  先要確定大體方向:模擬(往往只有第一題),策略(貪心等),數學,數據結構,圖論,dp,字符串,樹,二分,三分,搜索,(多半會加上剪枝折半記搜或者迭代加深)

  合理利用並查集,哈希,倍增,差分,鏈表,優先隊列,dfs序,桶,單調隊列,單調棧等輔助算法

  充分利用題目給的數據范圍考慮可能用到的算法,畢竟n^2,nlogn,nlogn^2,n還是比較好判斷的

  不要一看到數據結構就往線段樹上面想,可能會沒有那么'麻煩'

   dp的時候多想想平時自己用到的套路,如最大子串和,最長不下降序列,最長公共子序列,各種背包問題,樹形dp考慮求樹的直徑,重兒子,最大次大值等,區間dp的枚舉斷點,另外復雜度如果不對要考慮dp優化(滾動數組或者決策單調性),有時也會用數據結構優化dp

  圖論的話一般在比較簡單的情況下只會考最短路和最小(大)生成樹,和拓撲排序,tarjan求強連通分量邊雙連通割點,但圖論題比較難的一點是通過條件間的邏輯關系轉化成圖論題,這時除了上述算法以外常常會用匈牙利差分約束等算法解決

  字符串本身算法很少,只有kmp,哈希,trie,ac自動機,manecher,因此有時它會和其他算法一起考,如dp;

  想題的時候思維要靈活點··如果往一個方向想一直沒進展的話就要考慮放棄了

  有時候想不出正解時可能暴力就是正確的,自己在計算復雜度時可能考慮了許多多余的情況(所以要一定打暴力啊) 

  鑒於在NOIP考場上它算法可能不會考多難··但肯定會用思維難度來彌補,如果可以適當地用NOI的一些算法來降低思維難度的話可以考慮考慮

    常用套路:

  倒插點/邊,乘法轉對數,xor的高低位貪心,平均數轉最長和大於0,加邊權求特定集合最小生成樹,拆點,枚舉邊計算貢獻,

   代碼編輯:

  打代碼時一定要集中精神,不然很容易出錯··如果打完代碼后還是調試半天找出很多錯誤說明打代碼時肯定沒認真···

  打代碼前要想想這道題是否有什么邊界條件還沒有考慮.分類討論是否全面,有時因為一個邊界條件可能就錯完了,打代碼時也要好好考慮,比如mod的時候如果是負數要加起來,用到除法的時候除數是否考慮了0,是否需要判斷無解情況,有沒有可能訪問了非法的位置(爆數組或者訪問了負的位置,用桶的時候尤其注意),有沒有可能爆int,有沒有可能double寫成了整數型

    注意自己的算法是否爆空間,用cout<<sizeof()/1024/1024判斷判斷

  如果擔心爆int就開long long,不要偷懶!!

  用mod的時候注意mod透沒有

  INF用0x3f3f3f3f很優秀!

  盡量保證自己代碼的簡潔度,能不分類討論就不要分類討論(當然是在保證正確性的情況下),有時如果要判斷某些邊界情況很麻煩的話可以在邊界加上不影響答案的元素,比如在splay的題中我們常常在里面放一個-inf和一個inf··平時就要多參考其他人寫的比較優美簡潔的代碼··不然調試的時候可能會暈

  注意多組數據下的清0操作

  合理使用stl中的文件,如vector,queue(queue,deque,priority_queue),set,map(這玩意兒有點不靠譜··能手打hash表還是手打吧)

  如果變量很多的話變量名就打長一點,好辨別···實在不行打拼音··

  打代碼時注意自己是否用到了非法的變量名,像y1,x1,next,index,hash啥的一定要注意··如果平時用這些變量名用習慣了的話可以在第一行打一個”改變量名“,這樣的話編譯的時候能提醒自己

   打完后可以加個register提高代碼速度,(有可能會re,加完后運行程序看一看)

   不要讀入剪枝!!!

  看看是否用到了O2優化,用了的話用自己編輯器開O2跑一跑程序

 考后檢查:

  考完后重點再次檢查上述的錯誤,數組開小沒?是否需要開int?是否需要開double?是否需要改變量名?是否需要考慮邊界?

  最后好好檢查文件輸出輸入,錯了就完了··

  

  

    


免責聲明!

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



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