数据结构与算法
文章平均质量分 77
_Deadpool
这个作者很懒,什么都没留下…
展开
-
01背包(降维 + 常数级优化)
题目: 共n个物体,第i个重量为w[i],价值v[i],背包最多能背不超过W的物体,求最大的价值分析: 每个物体只有一个,在容量允许时(W>w[i]),则对于每个物体只有取、不取两种选择 状态:dp[i][j]:前i个物体,在容量为j的时候,最大的价值 状态转移: dp[i][j] = max(dp[i-1][j], dp[i-1][j-w[i]] + v[i原创 2014-07-17 15:12:51 · 729 阅读 · 0 评论 -
LIS - 最长上升子序列 (二分优化)
题目: 长度为n的序列a1, a2, ..., an,选出满足 j 分析: 当选择第i个时候,在j 状态:dp[i]表示以i为终点的最大上升序列 转移方程: dp[i] = max{dp[j] | j核心:for(i = 1; i<=n; i++) { dp[i] = 1; for(j = 1; j<i; j++) { if原创 2014-07-17 15:12:53 · 702 阅读 · 0 评论