摘要: 题意:题目的意思很简单,给定一个序列,求最大递增子序列的长度,同时相邻俩项下标的差值必须大于d分析:就题意而已,只是在最长递增子序列的加了一个限制条件,沿用最长递增子序列的思路,则dp[i] = max(dp[i], dp[j] + 1), (i - j > d && a[i] > a[j])从状态转移方程可以看出,问题的关键在于维护区间(0,i - d - 1) 最大的dp值,且对应值小于a[i]我们换一种角度,用a[i]的值作为下标,保证当前区间(0, a[i] - 1)中的dp值都满足 (i - j > d) , 那么dp[i] 就等于区间(0, a[i 阅读全文
posted @ 2013-04-01 21:38 枕边梦 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 思路参考自http://blog.csdn.net/yylxid/article/details/8601075题意:给定一个三角形的周长n, 问能组成的三角形的个数。若三边均不等,则个数加一分析:假定三角形的三条边长分别为x , y , z 其中 x <= y <= z若x已知, 则可得 y + z = n - x令 z - y = t , 则 0 <= t < x (俩边之差小于第三边)将t 代入上式可得 y = (n - x - t) / 2;则 (n - 2x) / 2 < y <= (n - x) / 2 即 n / 2 - x + 1 <= 阅读全文
posted @ 2013-04-01 19:18 枕边梦 阅读(302) 评论(0) 推荐(0) 编辑