除了平时划水练习,之前也自己刷了些题,感觉自己找题再补更适合我吧。就想弄个刷题记录。
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写法容易漏情况。
第二题不多讲解,整理了一篇博客:链接
10/2
十一放假感觉和没放似的,除了昨天,平时工作日都基本满课,这就有点无语了,走acm这条路我也没指望有假期,但这课有点多,大学搞得和高中一样。
今天又做了一道数位dp的中等题:HDU-3709 Balanced Number
多变量,更加趋于dfs的做法,已整理。
复习数位dp之后,这个数论先放一放,得好好补补图论。最近先补出图论的一些模板(以前没整理,边补边看题吧) 链接