
双端队列
文章平均质量分 56
yuege38
在校学生,努力学习
展开
-
POJ3709_K-Anonymous Sequence_双端队列优化dp
题意 给出一个长度为 n 的非严格单调递增数列,每一次操作可以使数列中的任何一项 -1。问至少需要多少次操作,使得任意一项都与其他至少 k - 1 项相等。 思路 首先想到DP。 dp[i]:考虑前 i 项,满足要求的最小操作数。 dp[i] = min( dp[j] + sigma( dp[i] - dp[j] ) ) k 用这个式子,复杂度为 O(n^3),相当原创 2018-02-02 14:31:20 · 285 阅读 · 0 评论 -
POJ3260_The Fewest Coins_deque优化dp解多重背包和完全背包
题意 拿着 n 种硬币,每种硬币面值 vi,数量 ci,去商店购买价值 t 的物品。商店也同样有这些种类的硬币,但数目无限。问付钱和找零的过程中,至少 需要多少个硬币。 思路 付钱是多重背包,找零是完全背包。 有意思的地方是付款金额的上界问题,网上证明了 maxv * maxv + t。然而证明过程一知半解。其实猜一猜也就过了。 链接 http://poj.org/proble原创 2018-02-06 13:22:53 · 196 阅读 · 0 评论