除了平時划水練習,之前也自己刷了些題,感覺自己找題再補更適合我吧。就像弄個刷題記錄。
9/30
HDU 2859 Phalanx
給定一個整數n,然後給出一個n*n的方陣,求方陣中最大的對稱子方陣(對稱指的是以右上角至左下角為對角線)
常規操作:dp,O(n^3)(其中空間複雜度可優化,講解)
1、規律:矩陣上搞dp,空間優化看情況
2、dp找規律例題+1
非常人的思路:雜湊預處理,二分---->程式碼連結(雜湊的騷操作,可以看看)
十一放假,各大oj平臺都網址維護,交不了題。
10/1
HYSBZ 1026 windy數
windy定義了一種windy數。不含前導零且相鄰兩個數位之差至少為2的正整數被稱為windy數。 windy想知道,在A和B之間,包括A和B,總共有多少個windy數?
==》求a到b閉區間內滿足相鄰兩個數位之差大於等於2的數位個數
POJ - 3252 Round Numbers
規定一個數如果二進位制中0的個數大於等於1的個數,則這個數稱為「整數」,問閉區間a,b中有多少個整數
經典的數位dp,入門題:HDU 2089 不要62
回顧了一下數位dp的入門部落格:數位dp入門
第一題關鍵變數:dp[i][j]表示第i位上數位為j的結果,pos表示位數,pre表示上一位數,lead表示是否有前導0,limit表示數位上界變數
ll dfs(int pos,int pre,bool lead,bool limit)
還是習慣dfs寫法,思路是順序的,dp寫法容易漏情況。
第二題不多講解,整理了一篇部落格:連結