NOIP考前的心得體會

2021-07-24 12:55:08 字數 4038 閱讀 5849

最近幾次考試暴露出的問題:
1. 對思維性的題目,不夠靈活的解決;
2. 輸出檔案把除錯結果一起輸出,造成嚴重失分;
3. 考試時間分配不合理,要麼提前做完,不認真檢查;要麼在考試結束最後10分鐘都在修改除錯程式,一題編寫多個程式,提交時卻交錯程式;
4. 考試心態不好,平時做題好,考試就緊張,思路混亂;
5. 題目解決方法粗糙單一,找題目的正解需要下功夫。
6. 學過的東西不能忘,要學紮實,必須要沉澱
7. 做題時注意細節,認真審題,學會用抽象思維理解題目,對於明知會超時的程式,最好不要在時間足夠的情況下寫(當然用來對拍還是可以的),變數不要用重,考慮各種特殊情況(1寫成i,死迴圈等)

題目資料範圍特坑的那種空間一定要開夠(比如說迷宮之類的)

對於《還是<=這種一定要思考完善,不要草草了之

以防萬一,結尾加上

fclose(stdin);

fclose(stdout);

return 0;

考試時:

1、解壓考試檔案(密碼有大小寫)

2、讀完三個題,做到心中有數。

3、每作完一題,進行檢查,用想到的所有方法。 做三個題,不如對乙個題。

考試前:

分類整理知識

帶:身份證(或學生證)、筆、手錶(調準考試機的系統時間)

1、貪心(用圖形表示資料,寫**之前一定要有理有據,能把自己說服,這種題一般資料範圍都很大)

2、分治(二分答案或者歸併排序求逆序對很常用)

3、搜尋(dfs+bfs+ priority_queue優先佇列)

4、dp(幾種揹包問題:01,完全,多重,二維)

5、圖論(幾種最短路徑:floyed三重迴圈,spfa用佇列加判重,dijkstra藍白點每回找最小。最小生成樹:prim(類似dijkstra,注意dis存的是邊長,最後累加),kruskal(並查集

)。)

noip 前必須記住的30 句話
1.比賽前一天晚上請準備好你的各種證件,事先查好去往考場的路線
2.比賽之前請先調整你的螢幕解析度到你喜歡的大小
3.比賽之前請把編譯器的字型調為你平時慣用的字型,尤其是注意這種字型中的逗號,點,1,l 這種易
混淆的字是不是區分明顯
4.在不影響視野的情況下,請將字型大小盡可能調大,方便查錯. 壓縮包或許還不能解壓,但是檔名已經
可以知道了,在選手目錄下用**模板建好所有檔案,包括.c/cpp/pas、.in、.out
5. 開始比賽,不要急於看題目,將試題第一頁的時間、記憶體限制等等一字不落地看完, 把每題的時空
限制寫在草稿紙上
6. 看題目時不能走神,看完題目後將其歸入某幾個框架中,包括:模擬/列舉/搜尋/貪心/動態規劃/

圖論/分治
請將題目通讀完以後,再開始深入思考你認為最容易的一道題。

7. 根據輸入資料的範圍大致確定演算法複雜度,以下均是可能情況,不絕對:
20:2^20=一百萬,o(2^n),搜尋
100:100^3=一百萬,o(n^3),floyd/搜尋
1000:1000^2=一百萬,o(n^2),動態規劃/圖論
500000:o(nlog(2,n)),二分答案/二分查詢/快排/歸併
1000000:o(n)或o(1),數學問題/改變思維方向/貪心
即使這道題再容易,也不要著急寫**,請先明確自己每一步要幹什麼後,再開始寫,輕敵會是你最大
的錯誤
8.即使這道題看起來再沒法做,也不要提早放棄,這個時候紙和筆會是你最好的朋友,自己嘗試幾個例

子,也許你就會找到答案
9.請一定先明確自己要幹什麼之後再寫程式,不要走一步想一步寫下**前,必須保證有充足的思考
時間,有成熟的想法後再動手
寫**前,盡量用多而強的資料去測試想到的演算法,畢竟**寫完後再測試就浪費很多時間了
不能想一點寫一點,就算是輸入部分也要在整體思路理清後再寫
10.如果這是一道動態規劃題,請先把轉移方程寫在紙上再程式設計
11.如果思考30 分鐘仍一頭霧水,沒有可以實現的演算法,請你果斷遮蔽掉100%的那一欄資料,開始寫

60%,50%乃至30%的演算法——在noip 裡面,30 分絕不是小數目
12.如果你發現你旁邊的人寫得很快,請你放心,他的演算法十有**是錯的
13.雖然1s+128mb 記憶體(這是以前的了,現在應該是1s + 256mb) 是標準配置,不過也不是每道題
都是這樣的,還是請認真閱讀試卷首頁的試題說明
14.計算記憶體的方法:陣列大小*型別長度/1000 / 1000=所佔記憶體mb 數,int 型別長度是4, long long =
8
15.如果對大規模資料的演算法正確性不敢保證。可分段處理:先寫乙個暴力程式應對小規模資料,再寫一
個高效程式應對大規模資料。以函式方式實現。這樣也方便後續對拍。
16.寫完程式之後,請一定不要忙著編譯,請一定要將你的**從頭到尾通讀一遍,也就是靜態查錯,這

是整個程式設計過程中最重要的步驟,有的變數重複呼叫問題除錯的話,乙個小時也看不出來,靜態查錯可
以一下指出錯誤
17.靜態查錯請注意以下方面:
(1)是否寫上了using namespace std?
(2)陣列開得是否夠大?
(3)變數型別是否正確,答案和中間結果是否會爆int?(記得初始化!!!!)
(4)memset 時,所填的sizeof(xx)的xx 是不是匹配?大小是不是正確?
(5)外層迴圈與內層迴圈的i,j 是不是混用了?
(6)迴圈變數的列舉範圍是否正確,是否會陣列越界?
(7)涉及到邊界處理、加一減一之類的問題,請在紙上舉個例子,標上下標以後,在程式設計時參照紙上的下

標寫
(8)這個程式是在執行你想讓它執行的步驟嗎?
(9)讀入優化處理負數情況了嗎?在小規模資料時請不要讀入優化,反之,則一定要讀入優化
19.通過樣例後,請你一定不要放鬆警惕,因為樣例並不能覆蓋所有的情況,請自己設計幾組大資料,爭取
卡死你的程式。特殊規律的資料,例如全是最小值,全是最大值,單調上公升/下降資料最能影響程式效率與

正確性
20.如果出現問題,請你除錯你的程式,請一定要分模組除錯,不要從頭跟到尾
21.如果你已經設計不出能卡住你的程式的資料,恭喜你可以做下一題了
22.如果你用的是windows,請你注意把system(「pause」)注釋掉
23.為了萬無一失,請你用return 0 結束你的程式
24.在記憶體允許的情況下,能開普通佇列就不要用迴圈佇列,能開下普通陣列就不要用滾動陣列
25.在時間允許的情況下,能暴力就暴力,高精度能不壓位就不壓位,優化不需要的就不要
26.總之,在不超限制的前提下,能不優化就不優化,以減少**量和出錯概率為第一原則
27.當比賽還剩下5~15 分鐘的時候,請不要再改動你的程式,即使你懷疑它對你的乙個輸入給出了錯誤答
案,因為你自己算出的結果也有可能是錯的
28.這個時候請你檢查是否注釋掉了該注釋掉的東西,檔名是否寫對,資料夾是否建對,請一定反覆檢查!
29.請記住,noip 不怕暴力,怕瞎算,不怕不會,怕不敢,有時間的話一定要寫乙個暴力程式去對拍,驗
證演算法的正確性
30. 沉著,冷靜,沒有思路上廁所。做能力範圍內的事,盡力就好。不擔心別人強大,小心自己失誤。自己
做得完美,就無怨無悔。

待續......

PHP PDO 心得體會

關於pdo 我想可以不用做過多的描述,寫一寫最近的使用心得體會 首先 關於如何使用pdo 連線到資料庫 dbms mysql 使用的資料庫 host localhost 選擇的主機 dbname test 選擇的資料庫 user root 登陸的使用者名稱 password 使用者密碼 dsn dm...

銷售心得體會

銷售思維的培養 1.裝可憐讓客戶動惻隱之心是一種方法但是不適合男人 2.身處高位的銷售領導往往擁有給客戶的折扣和動用資源的優勢,不要當綠葉,要按兵不動尋找時機 3.市場上的大客戶與哪家合作就會成為標桿事件,哪家公司就會成為一線公司。4.站在客戶的角度,在業務上給予中肯的意見,得到客戶的感謝和認可。5...

面試心得體會

最近開發人手短缺成了大問題,因此招人也成了乙個重要任務。通過這幾天的面試,對這方面有了一些心得體會。一是it企業需要哪方面素質的人才。我感覺關鍵有兩條,一是能幹活,二是能合作。企業為什麼青睞有經驗的人?因為來了就能幹活。當然對於學生而言,經驗缺乏是一大缺陷,這就要展現另一方面 我具備成為幹活能手的能...