随笔分类 - DP
摘要:区间DP 1.一般以区间为动态规划的阶段 2.石子合并 在一个圆形操场的四周摆放 NN 堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。 试设计出一个算法,计算出将 N 堆石子合并成 1 堆的 最小得分 和 最大得分。 最小和最
阅读全文
摘要:线性DP(1) 1.LIS 问题:给定一个长度为n的数组,找出一个最长的单调递增子序列。 例如:{5,6,7,4,2,8,3}最长的是{5,6,7,8},长度为n。 例题: HDU - 1257 该题就是给出一个序列,然后求最少可以有多少个单调下降的序列。 每一个下降序列都有一个最小值Ai,每一个A
阅读全文
摘要:背包DP(2) 1.多重背包 题目:n种物品,m的背包。第i种物品,最多有s[i]件,每件体积v[i],价格是w[i]。求解选择哪些物品放入背包,不超过背包,价值最大。输出最大价值。 (1)朴素算法 不如这样想,取s[i]件物品,就是s[i]件一样的物品。即转换为01背包。 令k1为s[i]的求和
阅读全文
摘要:背包问题 1.01背包 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 Hdu 2602 Bone Collector 样例输入: 5 10 1 2 3 4 5 5 4 3 2 1 样例输出:
阅读全文