摘要: 原题链接 考察:线性dp LIS的延伸题 思路: 当区间没有重叠部分的时候,就可以加上+f[j]. 注意:当有重叠部分的时候,不能f[i] = max(f[i],f[j]),如果数据eg:[1,10] [2,3] [4,19]3区间会把2区间加上,而2区间必须是原w . 1 #include <io 阅读全文
posted @ 2021-03-15 12:16 acmloser 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线性dp 这也能dp系列,完全没想到. 注意这道题是检查子矩阵,所以不用围绕主矩阵的对角线检查. 思路: 枚举子矩阵的左下角坐标,定义f[i][j]是以(i,j)为左下角坐标的最长对称边长.可以发现f[i][j]的最大边长最多为f[i-1][j+1]+1.三重循环枚举即可. 这题的原 阅读全文
posted @ 2021-03-15 10:33 acmloser 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线性dp 错误思路: f[x][y]代表坐标(x,y)的最少时间,状态转移方程推不出来,而且完全没有用到木板 正确思路: 上面的状态表示其实比较接近.dp问题要将大问题分解为若干个小问题.将起始点看作一块木板,f[i][0]表示从左边跳下去的最短时间,f[i][1]表示从右边跳下去的 阅读全文
posted @ 2021-03-15 07:33 acmloser 阅读(41) 评论(0) 推荐(0) 编辑