<?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>Beyond the Void &#187; HAOI</title>
	<atom:link href="http://www.byvoid.com/blog/tag/haoi/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.byvoid.com/blog</link>
	<description></description>
	<lastBuildDate>Tue, 29 Jun 2010 08:44:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>HAOI2009 即将到来</title>
		<link>http://www.byvoid.com/blog/haoi2009-coming/</link>
		<comments>http://www.byvoid.com/blog/haoi2009-coming/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 08:46:40 +0000</pubDate>
		<dc:creator>BYVoid</dc:creator>
				<category><![CDATA[生活點滴]]></category>
		<category><![CDATA[競賽歷程]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[HAOI]]></category>
		<category><![CDATA[NOI2009]]></category>
		<category><![CDATA[分辨]]></category>
		<category><![CDATA[心态]]></category>
		<category><![CDATA[省选]]></category>
		<category><![CDATA[转折]]></category>

		<guid isPermaLink="false">http://www.byvoid.com/blog/?p=1278</guid>
		<description><![CDATA[明年将是省选的日子，转眼又是一年。与上次不同，这次省选过后，我的OI生涯就只剩下区区3个月了（也可能会立即彻底结束）。 这一年过来，我的水平没有达到我期望的高度，总结一下原因... ]]></description>
			<content:encoded><![CDATA[<p>明年将是省选的日子，转眼<a href="http://www.byvoid.com/blog/haoi2008-tmr/" target="_blank">又是一年</a>。与上次不同，这次省选过后，我的OI生涯就只剩下区区3个月了（也可能会立即彻底结束）。</p>
<p>这一年过来，我的水平没有达到我期望的高度，总结一下原因，关键在于这几点：</p>
<ol>
<li>浮躁的学习态度，对于各种算法<strong>浅尝辄止</strong>，尤其表现在高一初次学习的时候；</li>
<li>不合理的时间安排，对文化课和竞赛的学习不能有机调和，总是<strong>顾此失彼</strong>；</li>
<li>过于功利化地看待OI，认为OI是一条通往理想大学的捷径，忽略了<strong>全面发展</strong>；</li>
<li>总是被一点小小的失败困扰，为一些小小的成绩骄傲，<strong>心浮气躁</strong>。</li>
</ol>
<p>冲击NOI和文化课的努力学习是存在着某种冲突的，至少在我的能力范围之内是如此。我已经清楚地认识到了这一点，该如何选择？高翔在OI前途一片大好的时候，突然选择了放弃冲击NOI，要去好好准备保送生考试了，尽管还有半年。我非常佩服他激流勇退的精神，只是常人罕见的胸怀才能接受的。</p>
<p>在这次省选之前，我还在犹豫，我想明天过后结果就会出来了。我要准备好接受现实。我想，我应该彻底抛弃心理负担。毕竟我有很多机会，省选不成，还有夏令营；NOI不成，还有NOIP的保送；保送不成，还有高考；高考不成，还可以考虑出国……总之，天无绝人之路。</p>
<p>不可改变的是时光荏苒，可以改变的是我的心态。我究竟能不能走通NOI这条路，还看我自己。从现在开始，我要改变我自己。</p>
<p><strong>赐予我力量，去改变我所能改变的；赐予我勇气，去接受我不能改变的；并赐予我智慧，去分辨这两者。</strong></p>
<h3  class="related_post_title">Maybe you like</h3><ul class="related_post"><li><a href="http://www.byvoid.com/blog/next-step/" title="下一步">下一步</a></li><li><a href="http://www.byvoid.com/blog/thinking-in-mind/" title="冥念中的思考">冥念中的思考</a></li><li><a href="http://www.byvoid.com/blog/haoi2008-coming/" title="省选，即将来临">省选，即将来临</a></li><li><a href="http://www.byvoid.com/blog/noi-2009/" title="NOI2009之旅">NOI2009之旅</a></li><li><a href="http://www.byvoid.com/blog/noi-ssc-exp/" title="NOI特别夏令营的总结和一些经验分享">NOI特别夏令营的总结和一些经验分享</a></li><li><a href="http://www.byvoid.com/blog/noi2009-iacoming/" title="NOI2009 我来了">NOI2009 我来了</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.byvoid.com/blog/haoi2009-coming/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>HAOI 2007 修筑绿化带</title>
		<link>http://www.byvoid.com/blog/haoi-2007-parterre/</link>
		<comments>http://www.byvoid.com/blog/haoi-2007-parterre/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 02:42:01 +0000</pubDate>
		<dc:creator>BYVoid</dc:creator>
				<category><![CDATA[競賽題解]]></category>
		<category><![CDATA[HAOI]]></category>
		<category><![CDATA[单调队列]]></category>
		<category><![CDATA[递推]]></category>

		<guid isPermaLink="false">http://www.byvoid.com/blog/?p=1266</guid>
		<description><![CDATA[首先求出每个A*B的矩阵的数值和，以及每个C*D的矩阵的数值和，用递推的方法可以达到O(N*M)。 接下来，求出每个(A-2)*(B-2)范围内最小的C*D的矩阵（因为花坛不能建在绿化带边缘），可以用单调... ]]></description>
			<content:encoded><![CDATA[<p>首先求出每个A*B的矩阵的数值和，以及每个C*D的矩阵的数值和，用递推的方法可以达到O(N*M)。<br />
接下来，求出每个(A-2)*(B-2)范围内最小的C*D的矩阵（因为花坛不能建在绿化带边缘），可以用单调队列的方法递推，时间复杂度为O(N*M)。最后对于每个A*B的局限，求出其范围内最小的花坛，时间复杂度为O(N*M)，总的时间复杂度就是O(N*M)。</p>
<p>这道题本身不难，关键在仔细处理好递推的边界。<br />
<span id="more-1266"></span></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1266code2'); return false;">View Code</a> CPP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12662"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
</pre></td><td class="code" id="p1266code2"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/* 
 * Problem: HAOI2007 parterre
 * Author: Guo Jiabao
 * Time: 2009.4.20 10:32
 * State: Solved
 * Memo: 动态规划 单调队列 矩阵压缩
*/</span>
<span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #339900;">#include &lt;cstdio&gt;</span>
<span style="color: #339900;">#include &lt;cstdlib&gt;</span>
<span style="color: #339900;">#include &lt;cmath&gt;</span>
<span style="color: #339900;">#include &lt;cstring&gt;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MAXN<span style="color: #000080;">=</span><span style="color: #0000dd;">1001</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
<span style="color: #0000ff;">struct</span> MonoQueue
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">struct</span> MQElement
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> id,value<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>Q<span style="color: #008000;">&#91;</span>MAXN<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> head,tail<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> clear<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>head<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>tail<span style="color: #000080;">=</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span><span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> ins<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> value,<span style="color: #0000ff;">int</span> id<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>tail<span style="color: #000080;">&gt;=</span>head <span style="color: #000040;">&amp;&amp;</span> value<span style="color: #000080;">&lt;</span>Q<span style="color: #008000;">&#91;</span>tail<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">value</span><span style="color: #008000;">&#41;</span> tail<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
		Q<span style="color: #008000;">&#91;</span><span style="color: #000040;">++</span>tail<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">value</span><span style="color: #000080;">=</span>value<span style="color: #008080;">;</span>
		Q<span style="color: #008000;">&#91;</span>tail<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">id</span><span style="color: #000080;">=</span>id<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">int</span> getmin<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> id<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>Q<span style="color: #008000;">&#91;</span>head<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">id</span><span style="color: #000080;">&lt;</span>id<span style="color: #008000;">&#41;</span> head<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> Q<span style="color: #008000;">&#91;</span>head<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">value</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>MQ<span style="color: #008080;">;</span>
<span style="color: #0000ff;">struct</span> Matrix
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> N,M<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> X<span style="color: #008000;">&#91;</span>MAXN<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>MAXN<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>Green,Flower,FM<span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> N,M,A,B,C,D,EN,EM,Ans<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> X<span style="color: #008000;">&#91;</span>MAXN<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>MAXN<span style="color: #008000;">&#93;</span>,Y<span style="color: #008000;">&#91;</span>MAXN<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>MAXN<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">void</span> init<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i,j<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;parterre.in&quot;</span>,<span style="color: #FF0000;">&quot;r&quot;</span>,<span style="color: #0000ff;">stdin</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;parterre.out&quot;</span>,<span style="color: #FF0000;">&quot;w&quot;</span>,<span style="color: #0000ff;">stdout</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d%d%d%d%d&quot;</span>,<span style="color: #000040;">&amp;</span>N,<span style="color: #000040;">&amp;</span>M,<span style="color: #000040;">&amp;</span>A,<span style="color: #000040;">&amp;</span>B,<span style="color: #000040;">&amp;</span>C,<span style="color: #000040;">&amp;</span>D<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>N<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>M<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,<span style="color: #000040;">&amp;</span>X<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> solve<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i,j<span style="color: #008080;">;</span>
	Green.<span style="color: #007788;">N</span><span style="color: #000080;">=</span>N<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #000040;">-</span>A<span style="color: #008080;">;</span> Green.<span style="color: #007788;">M</span><span style="color: #000080;">=</span>M<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #000040;">-</span>B<span style="color: #008080;">;</span>
	Flower.<span style="color: #007788;">N</span><span style="color: #000080;">=</span>N<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #000040;">-</span>C<span style="color: #008080;">;</span> Flower.<span style="color: #007788;">M</span><span style="color: #000080;">=</span>M<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #000040;">-</span>D<span style="color: #008080;">;</span>
	EN<span style="color: #000080;">=</span>A<span style="color: #000040;">-</span><span style="color: #0000dd;">2</span><span style="color: #000040;">-</span>C<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> EM<span style="color: #000080;">=</span>B<span style="color: #000040;">-</span><span style="color: #0000dd;">2</span><span style="color: #000040;">-</span>D<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	FM.<span style="color: #007788;">N</span><span style="color: #000080;">=</span>Flower.<span style="color: #007788;">N</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #000040;">-</span>EN<span style="color: #008080;">;</span> FM.<span style="color: #007788;">M</span><span style="color: #000080;">=</span>Flower.<span style="color: #007788;">M</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #000040;">-</span>EM<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>M<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		Y<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>A<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			Y<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #000080;">=</span>X<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>i<span style="color: #000040;">+</span>A<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #000080;">&lt;=</span>N<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			Y<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>Y<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000040;">-</span>X<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>X<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">+</span>A<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>Green.<span style="color: #007788;">N</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		Green.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>B<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			Green.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #000080;">=</span>Y<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>Green.<span style="color: #007788;">M</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			Green.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>Green.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">-</span>Y<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>Y<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">+</span>B<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>M<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		Y<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>C<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			Y<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #000080;">=</span>X<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>i<span style="color: #000040;">+</span>C<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #000080;">&lt;=</span>N<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			Y<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>Y<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000040;">-</span>X<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>X<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">+</span>C<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>Flower.<span style="color: #007788;">N</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		Flower.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>D<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			Flower.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #000080;">=</span>Y<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>Flower.<span style="color: #007788;">M</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			Flower.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>Flower.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">-</span>Y<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>Y<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">+</span>D<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>Flower.<span style="color: #007788;">M</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		MQ.<span style="color: #007788;">clear</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>EN<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			MQ.<span style="color: #007788;">ins</span><span style="color: #008000;">&#40;</span>Flower.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span>,i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>FM.<span style="color: #007788;">N</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			MQ.<span style="color: #007788;">ins</span><span style="color: #008000;">&#40;</span>Flower.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #000040;">+</span>EN<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span>,i<span style="color: #000040;">+</span>EN<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			Y<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>MQ.<span style="color: #007788;">getmin</span><span style="color: #008000;">&#40;</span>i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>FM.<span style="color: #007788;">N</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		MQ.<span style="color: #007788;">clear</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>EM<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			MQ.<span style="color: #007788;">ins</span><span style="color: #008000;">&#40;</span>Y<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span>,j<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>FM.<span style="color: #007788;">M</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			MQ.<span style="color: #007788;">ins</span><span style="color: #008000;">&#40;</span>Y<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">+</span>EM<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>,j<span style="color: #000040;">+</span>EM<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			FM.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>MQ.<span style="color: #007788;">getmin</span><span style="color: #008000;">&#40;</span>j<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>Green.<span style="color: #007788;">N</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>Green.<span style="color: #007788;">M</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">int</span> R<span style="color: #000080;">=</span>Green.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			R<span style="color: #000040;">-</span><span style="color: #000080;">=</span>FM.<span style="color: #007788;">X</span><span style="color: #008000;">&#91;</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>R<span style="color: #000080;">&gt;</span>Ans<span style="color: #008000;">&#41;</span>
				Ans<span style="color: #000080;">=</span>R<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	init<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	solve<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%dn&quot;</span>,Ans<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<blockquote>
<div class="MainText">
<p><a href="http://www.ruvtex.cn/cogs/problem/pdetail.php?pid=24" target="_blank">http://www.ruvtex.cn/cogs/problem/pdetail.php?pid=24</a></p>
<p><strong>修筑绿化带</strong></p>
<p><strong>【问题描述】</strong></p>
<p>为了增添公园的景致，现在需要在公园中修筑一个花坛，同时在画坛四周修建一片绿化带，让花坛被绿化带围起来。<br />
如果把公园看成一个M*N的矩形，那么花坛可以看成一个C*D的矩形，绿化带和花坛一起可以看成一个A*B的矩形。<br />
如果将花园中的每一块土地的“肥沃度”定义为该块土地上每一个小块肥沃度之和，那么，<br />
绿化带的肥沃度=A*B块的肥沃度-C*D块的肥沃度<br />
为了使得绿化带的生长得旺盛，我们希望绿化带的肥沃度最大。</p>
<p><strong>【输入】</strong>:</p>
<p>第一行有6个正整数M,N,A,B,C,D<br />
接下来一个M*N的数字矩阵，其中矩阵的第i行j列元素为一个整数Xij,表示该花园的第i行第j列的土地“肥沃度”。</p>
<p><strong>【输出】</strong>:</p>
<p>一个正整数，表示绿化带的最大肥沃程度。</p>
<p><strong>【输入输出样例】</strong><br />
<strong>parterre.in </strong><br />
4 5 4 4 2 2<br />
20 19 18 17 16<br />
15 14 13 12 11<br />
10 9 8 7 6<br />
5 4 3 2 1</p>
<p><strong>parterre.out </strong><br />
132</p>
<p><strong>【数据范围】</strong></p>
<p>30%的数据，1&lt;=M,N&lt;=50<br />
100%的数据，1&lt;=M,N&lt;=1000,1&lt;=A&lt;=M,1&lt;=B&lt;=N,1&lt;=C&lt;=A-2,1&lt;=D&lt;=B-2，1&lt;=“肥沃度”&lt;=100</p></div>
</blockquote>
<h3  class="related_post_title">Maybe you like</h3><ul class="related_post"><li><a href="http://www.byvoid.com/blog/wc2010-rebuild/" title="WC2010 重建计划">WC2010 重建计划</a></li><li><a href="http://www.byvoid.com/blog/noi-2009-ball/" title="NOI 2009 管道取珠">NOI 2009 管道取珠</a></li><li><a href="http://www.byvoid.com/blog/noi-2005-adv1900/" title="NOI 2005 瑰丽华尔兹">NOI 2005 瑰丽华尔兹</a></li><li><a href="http://www.byvoid.com/blog/haoi2009-coming/" title="HAOI2009 即将到来">HAOI2009 即将到来</a></li><li><a href="http://www.byvoid.com/blog/haoi-2008-name/" title="HAOI 2008 玩具取名">HAOI 2008 玩具取名</a></li><li><a href="http://www.byvoid.com/blog/haoi-2008-coin/" title="HAOI 2008 硬币购物">HAOI 2008 硬币购物</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.byvoid.com/blog/haoi-2007-parterre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HAOI 2008 玩具取名</title>
		<link>http://www.byvoid.com/blog/haoi-2008-name/</link>
		<comments>http://www.byvoid.com/blog/haoi-2008-name/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 01:00:13 +0000</pubDate>
		<dc:creator>BYVoid</dc:creator>
				<category><![CDATA[競賽題解]]></category>
		<category><![CDATA[HAOI]]></category>
		<category><![CDATA[动态规划]]></category>
		<category><![CDATA[可行性]]></category>

		<guid isPermaLink="false">http://www.byvoid.com/blog/?p=1263</guid>
		<description><![CDATA[这是一个动态规划可行性判定问题。 设玩具名字的字符串为A，状态 F[i,j,k] 表示A中，从第i位到第j位，是否可以变换成字符k。 状态转移方程 F[i,j,k] = Or{F[i,l,k1] And F[l+1,j,k2] &#124; i&#60;=l&#60;=j-1 且... ]]></description>
			<content:encoded><![CDATA[<p>这是一个动态规划可行性判定问题。</p>
<p>设玩具名字的字符串为A，状态 F[i,j,k] 表示A中，从第i位到第j位，是否可以变换成字符k。</p>
<p>状态转移方程</p>
<p>F[i,j,k] = Or{F[i,l,k1] And F[l+1,j,k2] | i&lt;=l&lt;=j-1 且字符[k1k2]可以变换成k }</p>
<p>边界条件</p>
<p>F[i,i,A[i]]=true</p>
<p>目标结果</p>
<p>F[1,N,k]</p>
<p><span id="more-1263"></span></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1263code4'); return false;">View Code</a> CPP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12634"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
</pre></td><td class="code" id="p1263code4"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/* 
 * Problem: HAOI2008 name
 * Author: Guo Jiabao
 * Time: 2009.4.20 8:53
 * State: Solved
 * Memo: 动态规划 可行性判定
*/</span>
<span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #339900;">#include &lt;cstdio&gt;</span>
<span style="color: #339900;">#include &lt;cstdlib&gt;</span>
<span style="color: #339900;">#include &lt;cmath&gt;</span>
<span style="color: #339900;">#include &lt;cstring&gt;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MAXL<span style="color: #000080;">=</span><span style="color: #0000dd;">201</span>,MAXR<span style="color: #000080;">=</span><span style="color: #0000dd;">17</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> Charset<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #FF0000;">&quot;WING&quot;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> N,R<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span>,Rule<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>MAXR<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span>,A<span style="color: #008000;">&#91;</span>MAXL<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">bool</span> F<span style="color: #008000;">&#91;</span>MAXL<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>MAXL<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span>,Turn<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span>,noans<span style="color: #000080;">=</span><span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">int</span> c2i<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> c<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>c<span style="color: #000080;">==</span><span style="color: #FF0000;">'W'</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>c<span style="color: #000080;">==</span><span style="color: #FF0000;">'I'</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>c<span style="color: #000080;">==</span><span style="color: #FF0000;">'N'</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> init<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i,j,a,b<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> C<span style="color: #008000;">&#91;</span>MAXL<span style="color: #008000;">&#93;</span>,c<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;name.in&quot;</span>,<span style="color: #FF0000;">&quot;r&quot;</span>,<span style="color: #0000ff;">stdin</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;name.out&quot;</span>,<span style="color: #FF0000;">&quot;w&quot;</span>,<span style="color: #0000ff;">stdout</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>F,<span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>F<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>Turn,<span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>Turn<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,<span style="color: #000040;">&amp;</span>R<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>R<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">do</span> c<span style="color: #000080;">=</span><span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>c<span style="color: #000080;">==</span><span style="color: #0000dd;">10</span><span style="color: #000040;">||</span>c<span style="color: #000080;">==</span><span style="color: #0000dd;">13</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">ungetc</span><span style="color: #008000;">&#40;</span>c,<span style="color: #0000ff;">stdin</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			c<span style="color: #000080;">=</span><span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>a<span style="color: #000080;">=</span>c2i<span style="color: #008000;">&#40;</span>c<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			c<span style="color: #000080;">=</span><span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>b<span style="color: #000080;">=</span>c2i<span style="color: #008000;">&#40;</span>c<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			Turn<span style="color: #008000;">&#91;</span>a<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>b<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s&quot;</span>,C<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>p<span style="color: #000080;">=</span>C<span style="color: #008080;">;</span><span style="color: #000040;">*</span>p<span style="color: #008080;">;</span>p<span style="color: #000040;">++</span>,i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		A<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>c2i<span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>p<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	N<span style="color: #000080;">=</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> dynamic<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i,j,k,k1,k2,l<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>N<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		F<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>A<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span>N<span style="color: #008080;">;</span>i<span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000040;">--</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>N<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>l<span style="color: #000080;">=</span>i<span style="color: #008080;">;</span>l<span style="color: #000080;">&lt;=</span>j<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>l<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
				<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>k<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>k<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>k<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
					<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>k1<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>k1<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>k1<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
						<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>k2<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>k2<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>k2<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
							F<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000040;">|</span><span style="color: #000080;">=</span> Turn<span style="color: #008000;">&#91;</span>k1<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>k2<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000040;">&amp;&amp;</span> F<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>l<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>k1<span style="color: #008000;">&#93;</span> <span style="color: #000040;">&amp;&amp;</span> F<span style="color: #008000;">&#91;</span>l<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>k2<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> solve<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	dynamic<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>F<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>N<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%c&quot;</span>,Charset<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			noans<span style="color: #000080;">=</span><span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>noans<span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;The name is wrong!&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;n&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	init<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	solve<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<blockquote>
<div class="MainText">
<p><a href="http://www.ruvtex.cn/cogs/problem/pdetail.php?pid=317" target="_blank">http://www.ruvtex.cn/cogs/problem/pdetail.php?pid=317</a></p>
<p><strong>玩具取名</strong></p>
<p>[题目描述]</p>
<p>某人有一套玩具，并想法给玩具命名。首先他选择WING四个字母中的任意一个字母作为玩具的基本名字。然后他会根据自己的喜好，将名字中任意一个字母用“WING”中任意两个字母代替，使得自己的名字能够扩充得很长。</p>
<p>现在，他想请你猜猜某一个很长的名字，最初可能是由哪几个字母变形过来的。</p>
<p>[输入]</p>
<ul>
<li>第一行四个整数W、I、N、G。表示每一个字母能由几种两个字母所替代。</li>
<li>接下来W行，每行两个字母,表示W可以用这两个字母替代。</li>
<li>接下来I行，每行两个字母,表示I可以用这两个字母替代。</li>
<li>接下来N行，每行两个字母,表示N可以用这两个字母替代。</li>
<li>接下来G行，每行两个字母,表示G可以用这两个字母替代。</li>
<li>最后一行一个长度不超过Len的字符串。表示这个玩具的名字。</li>
</ul>
<p>[输出]</p>
<ul>
<li>一行字符串，该名字可能由哪些字母变形而得到。（按照WING的顺序输出）</li>
<li>如果给的名字不能由任何一个字母变形而得到则输出“The name is wrong!”</li>
</ul>
<p>[样例]</p>
<p>Input</p>
<pre>1 1 1 1
II
WW
WW
IG
IIII</pre>
<p>Output</p>
<pre>IN</pre>
<p>[样例解释]</p>
<ul>
<li>W可以变成II所以IIII可以缩成WW</li>
<li>IN均能变成WW所以WW又可以缩成I或者N</li>
<li>所以最终答案应该按照“WING”的顺序输出IN</li>
</ul>
<p>[数据范围]</p>
<ul>
<li>30%数据满足Len&lt;=20，W、I、N、G&lt;=6</li>
<li>100%数据满足Len&lt;=200，W、I、N、G&lt;=16</li>
</ul>
</div>
</blockquote>
<h3  class="related_post_title">Maybe you like</h3><ul class="related_post"><li><a href="http://www.byvoid.com/blog/haoi-2008-coin/" title="HAOI 2008 硬币购物">HAOI 2008 硬币购物</a></li><li><a href="http://www.byvoid.com/blog/noi-2009-treapmod/" title="NOI 2009 二叉查找树">NOI 2009 二叉查找树</a></li><li><a href="http://www.byvoid.com/blog/noi-2009-poet/" title="NOI 2009 诗人小G">NOI 2009 诗人小G</a></li><li><a href="http://www.byvoid.com/blog/noi-2006-network/" title="NOI 2006 网络收费">NOI 2006 网络收费</a></li><li><a href="http://www.byvoid.com/blog/noi-2005-cchkk/" title="NOI 2005 聪聪与可可">NOI 2005 聪聪与可可</a></li><li><a href="http://www.byvoid.com/blog/noi-2005-adv1900/" title="NOI 2005 瑰丽华尔兹">NOI 2005 瑰丽华尔兹</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.byvoid.com/blog/haoi-2008-name/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>HAOI 2008 硬币购物</title>
		<link>http://www.byvoid.com/blog/haoi-2008-coin/</link>
		<comments>http://www.byvoid.com/blog/haoi-2008-coin/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 14:08:44 +0000</pubDate>
		<dc:creator>BYVoid</dc:creator>
				<category><![CDATA[競賽題解]]></category>
		<category><![CDATA[HAOI]]></category>
		<category><![CDATA[动态规划]]></category>
		<category><![CDATA[容斥原理]]></category>
		<category><![CDATA[背包问题]]></category>

		<guid isPermaLink="false">http://www.byvoid.com/blog/?p=1241</guid>
		<description><![CDATA[原来背包问题还有这种解法，动态规划+容斥原理。由于有tot次询问，如果对每次询问单独都做一次多重背包问题，会超时。有一种一次预处理，每次询问只有O(1)的神奇解法：容斥原理。 设F[i]... ]]></description>
			<content:encoded><![CDATA[<p>原来背包问题还有这种解法，动态规划+容斥原理。由于有tot次询问，如果对每次询问单独都做一次多重背包问题，会超时。有一种一次预处理，每次询问只有O(1)的神奇解法：容斥原理。</p>
<p>设F[i]为不考虑每种硬币的数量限制的情况下，得到面值i的方案数。则状态转移方程为</p>
<p>F[i]=Sum{F[i-C[k]] | i-C[k]&gt;=0 且 k=1..4}</p>
<p>为避免方案重复，要以k为阶段递推，边界条件为F[0]=1，这样预处理的时间复杂度就是O(S)。</p>
<p>接下来对于每次询问，奇妙的解法如下：根据容斥原理，答案为 得到面值S的超过限制的方案数 &#8211; 第1种硬币超过限制的方案数 &#8211; 第2种硬币超过限制的方案数 &#8211; 第3种硬币超过限制的方案数 &#8211; 第4种硬币超过限制的方案数 + 第1,2种硬币同时超过限制的方案数 + 第1,3种硬币同时超过限制的方案数 + &#8230;&#8230; + 第1,2,3,4种硬币全部同时超过限制的方案数。</p>
<p>当第1种硬币超过限制时，只要要用到D[1]+1枚硬币，剩余的硬币可以任意分配，所以方案数为 F[ S - (D[1]+1)*C[1] ]，当且仅当(S &#8211; (D[1]+1)*C[1])&gt;=0，否则方案数为0。其余情况类似，每次询问只用问16次，所以询问的时间复杂度为O(1)。<br />
<span id="more-1241"></span></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1241code6'); return false;">View Code</a> CPP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12416"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
</pre></td><td class="code" id="p1241code6"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/* 
 * Problem: HAOI2008 coin
 * Author: Guo Jiabao
 * Time: 2009.4.15 21:54
 * State: Solved
 * Memo: 动态规划 容斥原理
*/</span>
<span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #339900;">#include &lt;cstdio&gt;</span>
<span style="color: #339900;">#include &lt;cstdlib&gt;</span>
<span style="color: #339900;">#include &lt;cmath&gt;</span>
<span style="color: #339900;">#include &lt;cstring&gt;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MAXN<span style="color: #000080;">=</span><span style="color: #0000dd;">100001</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #008000;">&#93;</span>,C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #008000;">&#93;</span>,T,S<span style="color: #008080;">;</span>
<span style="color: #0000ff;">long</span> <span style="color: #0000ff;">long</span> F<span style="color: #008000;">&#91;</span>MAXN<span style="color: #008000;">&#93;</span>,Ans<span style="color: #008080;">;</span>
<span style="color: #0000ff;">void</span> init<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;coin.in&quot;</span>,<span style="color: #FF0000;">&quot;r&quot;</span>,<span style="color: #0000ff;">stdin</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;coin.out&quot;</span>,<span style="color: #FF0000;">&quot;w&quot;</span>,<span style="color: #0000ff;">stdout</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d%d%d%d&quot;</span>,<span style="color: #000040;">&amp;</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>,<span style="color: #000040;">&amp;</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span>,<span style="color: #000040;">&amp;</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span>,<span style="color: #000040;">&amp;</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span>,<span style="color: #000040;">&amp;</span>T<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">long</span> <span style="color: #0000ff;">long</span> Fn<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> a<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">return</span> a<span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">?</span>F<span style="color: #008000;">&#91;</span>a<span style="color: #008000;">&#93;</span><span style="color: #008080;">:</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> printint64<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">long</span> <span style="color: #0000ff;">long</span> a<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> m<span style="color: #000080;">=</span><span style="color: #0000dd;">100000000</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>a<span style="color: #000080;">&lt;=</span>m<span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%dn&quot;</span>,a<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,Ans<span style="color: #000040;">/</span>m<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%08dn&quot;</span>,Ans<span style="color: #000040;">%</span>m<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> solve<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i,j<span style="color: #008080;">;</span>
	F<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span>MAXN<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000040;">-</span>C<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
				F<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">+</span><span style="color: #000080;">=</span> F<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">-</span>C<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>T<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d%d%d%d&quot;</span>,<span style="color: #000040;">&amp;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>,<span style="color: #000040;">&amp;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span>,<span style="color: #000040;">&amp;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span>,<span style="color: #000040;">&amp;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span>,<span style="color: #000040;">&amp;</span>S<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans <span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">-</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">-</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">-</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">-</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">+</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">+</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">+</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">+</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">+</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">+</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">-</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">-</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">-</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">-</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Ans<span style="color: #000040;">+</span><span style="color: #000080;">=</span>Fn<span style="color: #008000;">&#40;</span> S <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#40;</span>D<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>C<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		printint64<span style="color: #008000;">&#40;</span>Ans<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	init<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	solve<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<blockquote>
<div class="MainText">
<p><a href="http://www.ruvtex.cn/cogs/problem/pdetail.php?pid=302" target="_blank">http://www.ruvtex.cn/cogs/problem/pdetail.php?pid=302</a></p>
<p><strong>硬币购物</strong></p>
<p><strong>【问题描述】</strong></p>
<p>一共有 4 种硬币,面值分别为 c1,c2,c3,c4 。阿Q带着一些硬币去商店买东西，他带了d1枚第一种硬币,d2枚第二种硬币,d3枚第三种硬币,d4枚第四种硬币,若想买一个价值为s的东西,问阿Q有多少种付coins的方法。</p>
<p>比如 c={1,2,5,10},d={3,2,3,1},s=10,一共有4种方法:<br />
10=1+1+1+2+5<br />
10=1+2+2+5<br />
10=5+5<br />
10=10</p>
<p>注意,阿Q可能会去很多次商店,每次带的硬币数量和要买的东西价值可能不一样,你需要对每次都求出方法总数.</p>
<p><strong>【数据输入】</strong></p>
<p align="left">输入文件的第一行是5个整数, c1,c2,c3,c4,tot 分别表示4种硬币的面值和阿Q去商店的次数,下面 tot 行 ,每行5个非负整数,d1,d2,d3,d4,s</p>
<p><strong>【数据输出】</strong></p>
<p>输出有tot行,表示第i次付coins的方法总数,保证答案在int64/long long范围内</p>
<p><strong>【输入样例】</strong><br />
1 2 5 10 2<br />
3 2 3 1 10<br />
1000 2 2 2 900</p>
<p><strong>【输出样例】</strong><br />
4<br />
27</p>
<p><strong>【数据范围】</strong></p>
<p>（1）100%的数据,d1,d2,d3,d4,s&lt;=1,00,000</p>
<p>（2）30%的数据,tot&lt;=50</p>
<p>（3）100%的数据,tot&lt;=1000</p></div>
</blockquote>
<h3  class="related_post_title">Maybe you like</h3><ul class="related_post"><li><a href="http://www.byvoid.com/blog/haoi-2008-name/" title="HAOI 2008 玩具取名">HAOI 2008 玩具取名</a></li><li><a href="http://www.byvoid.com/blog/noi-2009-treapmod/" title="NOI 2009 二叉查找树">NOI 2009 二叉查找树</a></li><li><a href="http://www.byvoid.com/blog/noi-2009-poet/" title="NOI 2009 诗人小G">NOI 2009 诗人小G</a></li><li><a href="http://www.byvoid.com/blog/noi-2006-network/" title="NOI 2006 网络收费">NOI 2006 网络收费</a></li><li><a href="http://www.byvoid.com/blog/noi-2005-cchkk/" title="NOI 2005 聪聪与可可">NOI 2005 聪聪与可可</a></li><li><a href="http://www.byvoid.com/blog/noi-2005-adv1900/" title="NOI 2005 瑰丽华尔兹">NOI 2005 瑰丽华尔兹</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.byvoid.com/blog/haoi-2008-coin/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
