PAT刷題日誌 2020 1 5

2021-10-01 23:14:54 字數 866 閱讀 2779

2020/1/5

今天結束了所有手頭的事情,想到報名了今年3月7日的pat甲級考試,趕緊重新開始了刷題。

目前的狀態大概是基本的演算法,(除了樹,圖類以及相關演算法不熟悉,其他基本上已經掌握了個大概),我計畫按照演算法筆記上機指南所提供的順序,從前到後從淺到深。由於之前我大概已經刷了25個左右的題,就直接按照那個順序繼續刷了。主要是做的是模擬類的題目。

提交第乙個題目:1042 shuffling machine (20分)

簡述:這個題感覺並不是很難,關鍵是要理解題目,他會繞來繞去,變換好多次,測試完標準案例以後提交一次直接ac

提交第二個題目:1046 shortest distance (20分)

這個題蠻有意思,果然是因為長時間沒接觸過題目了,大腦沒轉換過來,看到這個題,一看思路簡單,直接往兩邊算唄,算出來果然有乙個測試點會超時。這個時候就得想一下怎麼算才能讓效率更高,效率高到極致就是不算,直接用空間換取時間。

提交第三個題目:1065 a+b and c (64bit) (20分)

一開始看到是64bit的資料,很顯然不可能存在乙個資料型別可以完成加減運算,只能是另想它法,很顯然大數運算需要利用字串,可是這個字串就麻煩了,總不能把進製,加減函式都寫出來,還要寫比較函式,還要涉及符號運算,太麻煩了。剛好今天看了很久演算法筆記,其中一點就涉及到浮點數運算修正(詳情見->浮點數運算修正<-),於是我就想,不管給什麼數,我都按照在中間插入小數點,把大數轉換成小數進行浮點運算,很顯然這是乙個錯誤的想法,因為浮點會損失精度,如果兩個數相差不是很多,0.000001,很可能或導致出錯,所以勉強矇對了兩個測試點。

這個時候參考了一下,演算法筆記提供的思路,瞬間讓我豁然開朗,對哦,剛剛學習了計算機組成原理,利用運算溢位可以輕鬆解決這個問題,一提交瞬間ac,果然還是要多思考再下手。

PAT刷題日誌

調整刷題策略 集中精力刷 演算法筆記 第四章的題目,夯實基礎。基礎實在太差,第八章之後的題目壓根就不會,做題的時候就是抄一遍 理解一遍 根本不能算作刷題,而是被題刷。之前乙個知識點一道題的方法根本就是走馬觀花,蜻蜓點水,抄一遍 就覺得會了,第二天就忘乾淨了 兩個字來形容 浮躁 十多天的時間裡參加了倆...

PAT刷題日誌 2020 1 16

第一題 1085 perfect sequence 25分 教做人系列,二分查詢題 給定乙個正整數數列,和正整數 p,設這個數列中的最大值是 m,最小值是 m,如果 m mp,則稱這個數列是完美數列。現在給定引數 p 和一些正整數,請你從中選擇盡可能多的數構成乙個完美數列。這個題怎麼做?很顯然能想到...

PAT刷題日誌 2020 1 30

第一題 1052 linked list sorting 25分 這個比鍊錶反轉簡單很多,最後乙個測試點是隱藏的0個結點的情況,摸索一下就出來了。第二題 1097 deduplication on a linked list 25分 還是鍊錶,記得在遍歷vector的時候謹慎使用erase函式,因為...