
背包
文章平均质量分 62
bifanwen
梦想是遥不可及而奇幻莫测的,它给我全部的力量,它把我叫醒。
展开
-
POJ3046 Ant Counting 题解
博客园同步 原题链接 朴素动态规划。 用 fi,jf_{i,j}fi,j 表示前 iii 种 蚂蚁选了 jjj 种 的方案数。类似背包。 首先不考虑个数限制, fi,j=fi−1,j+fi,j−1f_{i,j} = f_{i-1,j} + f_{i,j-1}fi,j=fi−1,j+fi,j−1. 这样完成了多重背包的效果(就是 fif_ifi 的那一行在不断滚动),但是若设第 iii 种蚂蚁有 aia_iai 个,则不能完全背包。考虑如何解决限制。 把超过的那部分减去:很明显,这样的背包很可能第原创 2021-07-24 22:50:28 · 186 阅读 · 0 评论 -
POJ1742 Coins 题解
博客园同步 原题链接 多重背包板子。具体可以参考 再谈单调队列优化 & 背包九讲. 这里再仔细讲一下二进制拆分的具体做法。 假设你有 777 个价值为 viv_ivi,重量为 wiw_iwi 的物体。现在考虑把多重背包变成 010101 背包。如果我们把 111 个这样的物体看做第一组,222 个这样的物体看做第二组,444 个这样的物体看做第三组。你会发现用这三组进行的 010101 背包可以覆盖原来的情况(从二进制上很好理解),并且本来枚举 777 次,现在你不用去枚举这三组的所有情况(否则原创 2021-07-23 22:37:49 · 261 阅读 · 1 评论 -
P1776 宝物筛选 题解
博客园同步 原题链接 简要题意:多重背包模板。 即给定 nnn 个物品和一个容积为 VVV 的背包,每件物品有价值 viv_ivi,重量 wiw_iwi 和个数 gig_igi. 求最大价值。 n≤105n \leq 10^5n≤105. 如果你学过 背包九讲算法 ,这里就显得比板子还要板子了吧! 如果您没有学过,可以去我的博客搜索一下,学习完了。 时间复杂度:O(nloggi)\mathcal{O}(n \log g_i)O(nloggi).(这里给出二进制拆分的做法) 实际得分:100pts1原创 2020-09-16 22:15:53 · 197 阅读 · 0 评论 -
再谈单调队列优化 & 背包九讲
博客园同步 前置知识: 浅谈单调队列 简单背包问题 这篇文章我们主要研究 单调队列优化 dp\text{dp}dp 如何用于背包问题。 01\text{01}01 背包 nnn 个物品,背包体积为 VVV,每个物品有 viv_ivi(价值)和 wiw_iwi(重量),每个物品只有 111 个。求在不超过背包体积的情况下能获得的最大价值。 n,V,vi,wi≤1×103n,V,v_i,w_i \leq 1 \times 10^3n,V,vi,wi≤1×103,时间限制 1s1s1s,空间限制 1原创 2020-07-12 21:38:42 · 272 阅读 · 0 评论