除了平時劃水練習,之前也自己刷了些題,感覺自己找題再補更適合我吧,就像弄個刷題記錄,
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寫法容易漏情況,
第二題不多講解,整理了一篇博客:鏈接
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/148570.html
標籤:java
下一篇:協程實作網路服務器
