1. 程式人生 > >PAT(A) 101-140-3-2016-12-10 考試總結

PAT(A) 101-140-3-2016-12-10 考試總結

自從上次考完乙級,有收到一些企業的面試邀請,但專業不是太對口,加之還要上課,工作地點都很遠,只好婉拒。所以這次來試試考了甲級,希望能有更多的機會~~~

準備了三個月,刷穿了甲級題庫,熟練常用資料結構和演算法,一邊總結DS模版,一邊總結出現頻率較高和比較重要的英語單詞。總算功夫不負有心人,四道題不到兩小時全部AC,拿了滿。

簡單說一下考試題型,稍後再詳細寫題解:

A.  Friend Numbers (20):簡單數學問題,分解位數,直接模擬即可。可以使用set集合儲存結果,也可以使用雜湊進行標記數字是否出現。

B.  Damn Single (25):考查雜湊 + 查詢。我當時沒想到什麼好的辦法,開一個大陣列標記輸入中出現過的ID,進行查詢的時候使用set集合,因為考慮到PAT測試資料可能有坑:就是故意輸入重複的查詢ID,所以使用了set儲存結果(用vector儲存也行,先進行一遍排序,不要輸出重複的即可)。檢查ID是否出現過直接使用的標準庫find函式,剛開始還擔心超時,提交後發現完全沒擔心的必要~~~

C.  Hamiltonian Cycle (25):考查圖論。這是一個經典的問題——哈密頓迴路。

D.  Is It a Complete AVL Tree (30):考查AVL樹的建立、BFS層序遍歷、判斷是否是完全二叉樹。模版題,就看你這三個模組會不會寫。很多人掛在了AVL上面。

說說考試經歷:

來了考場直接傻眼了......加上我只有兩個人來考......拿到題目第一眼瞥了下最後一題,結果是AVL,很開心呀!因為直到考前一天我還在糾結要不要再看下AVL呢?PAT歷年就考過一次AVL,而且最近幾次都沒考圖論了。後來還是索性複習了下AVL,結果還真考了......我拿到題目最先做的不是第一題,而是趕緊把AVL的模版寫好,平衡因子、旋轉、插入判斷等等......然後看了下第一題,讀懂題意+資料範圍,很快3分鐘AC,看了下排名已經有10個左右的人提交了第二題,只有1人AC。接著看第二題,題目是單身狗......再看輸入樣例,以為是要考並查集,結果後來想想應該是考查雜湊,糾結是用map還是陣列模擬。最後選擇了雜湊模擬,提交了一次,有一個測試點沒過,沒管它,回頭再看。果然這次會出圖論,第三題就是考查哈密頓圖。離散數學老師講過....但當時沒聽......讀懂了題意,在紙上畫個圖,整理下大概思路,一次AC,大約花了25分鐘。最後搞AVL(前面已經寫好了,除錯了兩下正確)BFS、判斷完全二叉樹這些都很好搞,提交結果只有22分,兩個測試點異常錯誤???想來想去,不知道哪裡會有異常錯誤......時間過去1個小時,發現自己已經排名第一了......找BUG找了10多分鐘,忽然想到可能是陣列沒開夠,因為題目中是最多有20個有效結點,而我陣列只開了20,導致判斷是否是完全二叉樹的時候範圍不夠。開了個200的大陣列,果斷AC,遺憾的是提交了5次。此時過去70分鐘左右,還差4分就滿啦~~~終於AC了最後一題,發現自己是第一個AC的哈哈哈哈。但第二題一直有個4分的測試點過不去,顯示答案錯誤,不知道原因......哪裡會有坑呢?想了很久很久很久......在一籌莫展之際,忽然發現自己的輸出格式是有問題的,應該要保留5位數字,包括前導0......唉,提交終於AC了,此時這道題已經提交了9次,花了接近40分鐘找BUG......

終於全部AC了,監考老師顯然快被急死......理論早就該滿分的,而且可以第一個登頂,結果腦子短路硬是一個小問題找了很久很久......當時我好像是第9個拿到滿的吧T_T。

考試總結:

1.PAT什麼都可能會考的...只要是基礎資料結構裡的內容,都有可能考到。有幾次考到了DP,還有樹狀陣列,所以還是要做好充足準備的。要熟練常用的資料結構和演算法,還要學習一下常用的經典DP演算法,比如01揹包、最長不下降子序列等等。

2.全面複習。這次很多人掛在AVL上面了,如果從來沒寫過AVL的程式碼,在考場上估計還真寫不出來,AVL的程式碼量還是有點大的。考試下來和好多人交流,,基本都是寫了一個多小時AVL寫不出來,運氣好的拿了13分,運氣不好的直接寫BST,拿了6分。好像這道題最後通過率只有0.05,確實低。許多人以為(包括我)這次最後一題會考最短路或圖論搜尋...然而這次考了個冷門的AVL,誰知道下次會考什麼呢?沒什麼好辦法,全面複習吧。(AOE\AOV、雜湊的鏈式分離法、Huffman、MST這些可都沒考過呢~~~)

3.總結下英語單詞吧,還挺有用的。如果遇到不會的詞就尷尬了~可能錯都不知道怎麼錯的。(深有體會)

4.熟知PAT可能的坑點。因為PAT是浙大舉辦的,ZOJ是浙大OJ,也是一個比較出名的測試平臺,它裡邊有許多極端測試,真的很極端,你可能都想不到。所以PAT也同樣有很多極端的測試情況,而且有些坑題是出了名的,比如乙級的反轉連結串列,甲級的radix等。刷題庫積累經驗教訓吧。

5.期待考場腦袋不短路。祈禱吧。

忙碌的三個月終於過去了,該好好複習準備考試了~至於是否能成功申請到offer,靜待緣分吧。

附上一張證書截圖,略去個人資訊: