<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>-Flyぁ梦- &#187; DP</title>
	<atom:link href="http://blog.11034.org/tag/dp/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.11034.org</link>
	<description></description>
	<lastBuildDate>Sun, 22 Jun 2025 08:59:05 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>背包练习小集合</title>
		<link>http://blog.11034.org/2013-01/pack_in_zoj.html</link>
		<comments>http://blog.11034.org/2013-01/pack_in_zoj.html#comments</comments>
		<pubDate>Mon, 14 Jan 2013 16:14:23 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[数据结构和算法]]></category>
		<category><![CDATA[DP]]></category>
		<category><![CDATA[ZOJ]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=1529</guid>
		<description><![CDATA[练习DP就从背包开始吧，比较简单一些，因为套路基本都差不多，适合入门。做提前，推荐上网搜一下《背包九讲》读个一 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>练习DP就从背包开始吧，比较简单一些，因为套路基本都差不多，适合入门。做提前，推荐上网搜一下《背包九讲》读个一遍就大致了解背包题了，顺便再次ym下dd大牛&#8230;做了不少zoj里的背包题目，大概估计下来，但背包大小 &lt;= 10w的情况下，一般都不会超时。</p>
<p><span id="more-1529"></span></p>
<h2>0-1背包</h2>
<p>poj 3624 最基础的0-1背包</p>
<p>zoj 3258 要考虑剩下的背包空间，然后按贪心算法用水去装填</p>
<p>zoj 3264 已经有点分组背包的意思了，不过只要简单处理下二选一即可；要注意w = 0的情况，两次dp[m] = max( dp[m], dp[m &#8211; w] + v )会出错，用临时变量记录dp[m]的值做计算</p>
<p>zoj 3305 要排序后去重，即真包含的情况</p>
<p>zoj 3049 先贪心后背包，即用哪几个特殊物品直接卖掉来凑这个卷轴钱，使得损失最小</p>
<p>zoj 2822 求一个数由不同质数求和而成的种数。一开始没用01背包直接DP一直过不了“不同”质数这一条件。</p>
<h2>完全背包</h2>
<p>zoj 1666 计算钱的凑法</p>
<p>zoj 2014 完全背包取最小值</p>
<p>zoj 2224 多次的完全背包</p>
<p>zoj 2955 完全背包不难，但是背包值太大，看网上用的抽屉原理优化（原理没咋看懂&#8230;看过就忘&#8230;）</p>
<h2>多重背包</h2>
<p>多重背包比较复杂，一般用背包九讲上说的O( V * ∑n[i] )的方法也足够了。</p>
<p>当dp数组存的是0或1的情况下（即只考虑这个背包值是否可以达到，而不保存某最优值），可以模拟完全背包然后用个数组保存背包值-&gt;物品用的次数就可以了，这样简单很多。</p>
<p>zoj 1149 就是看一堆数是否能凑到所有数和的一半</p>
<p>zoj 2189 计算钱的凑法，硬币数量有限，要求硬币数量最少，保存dp路径</p>
<p>zoj 2156 也是计算钱的凑法，不过硬币数量有限而且要取硬币数量最多的表示方法（并不是只用小的货币就一定是最多的硬币数），还要保存dp的路径</p>
<h2>分组背包</h2>
<p>zoj 2972 刘翔跨栏题</p>
<p>zoj 3450 按照坐标原点的射线分组，最大公约数</p>
<h2>综合背包</h2>
<p>zoj 3164 集合0-1背包、完全背包、多重背包、分组背包&#8230;不过0-1背包算是多重背包的一个特殊情况吧</p>
<h4  class="related_post_title">看看 DP , ZOJ</h4><ul class="related_post"><li>2013-01-25 -- <a target="_blank" href="http://blog.11034.org/2013-01/winter_holiday_plan.html" title="zoj 200AC，寒假计划">zoj 200AC，寒假计划</a></li><li>2011-10-20 -- <a target="_blank" href="http://blog.11034.org/2011-10/zoj_100_ac.html" title="ZOJ起步 100AC">ZOJ起步 100AC</a></li></ul><h4 class="related_post_title">看看 数据结构和算法 </h4><ul class="related_post"><li>2013-05-27 -- <a target="_blank" href="http://blog.11034.org/2013-05/java_map.html" title="java.util中几个Map的性能测试">java.util中几个Map的性能测试</a></li><li>2013-05-07 -- <a target="_blank" href="http://blog.11034.org/2013-05/rectangle_overlap.html" title="判断矩形是否重叠">判断矩形是否重叠</a></li><li>2012-12-06 -- <a target="_blank" href="http://blog.11034.org/2012-12/string.html" title="整理下字符串的一些数据结构和算法">整理下字符串的一些数据结构和算法</a></li><li>2012-12-06 -- <a target="_blank" href="http://blog.11034.org/2012-12/suffix_array.html" title="一套可用的后缀数组代码">一套可用的后缀数组代码</a></li><li>2012-12-06 -- <a target="_blank" href="http://blog.11034.org/2012-12/ac_automachine.html" title="一个OOP的AC自动机代码">一个OOP的AC自动机代码</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2013-01/pack_in_zoj.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
