<?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>Gnarly Cow &#187; DP</title>
	<atom:link href="http://blog.lipeiqian.com/archives/tag/dp/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.lipeiqian.com</link>
	<description>We are continually faced with a series of great opportunities brilliantly disguised as insoluble problems.</description>
	<lastBuildDate>Thu, 01 Jul 2010 02:24:06 +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>USACO OPEN09 Gold Summary</title>
		<link>http://blog.lipeiqian.com/archives/111</link>
		<comments>http://blog.lipeiqian.com/archives/111#comments</comments>
		<pubDate>Tue, 26 May 2009 16:10:59 +0000</pubDate>
		<dc:creator>gnarlycow</dc:creator>
				<category><![CDATA[Gold Division]]></category>
		<category><![CDATA[USACO]]></category>
		<category><![CDATA[DP]]></category>
		<category><![CDATA[Summary]]></category>

		<guid isPermaLink="false">http://blog.lipeiqian.com/archives/111</guid>
		<description><![CDATA[Ski Lessons 动态规划 f[i][j]表示时刻i时滑雪能力为j的前提下，前i个时间单位里最多能滑多少次雪。我们采用向后递推法转移，有三种选择：(1)喝汽水；(2)参加时刻i开始的课程，能力值改变；(3)在能滑的雪坡中选择一个滑。 现在障碍在于雪坡数太多，每次都尝试所有能滑的雪坡转移代价太高。实际上我们并不需要尝试所有能滑的雪坡，因为滑雪用的时间越短越好，而滑任何雪坡效果都是一样的，能滑的雪坡之间没有优劣之分，所以要选择能滑的雪坡中用时最短的那个。通过预处理，可以在常数时间内获取这个信息。 ?View Code CPP1 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 [...]]]></description>
			<content:encoded><![CDATA[<p>Ski Lessons</p>
<p>动态规划</p>
<p>f[i][j]表示时刻i时滑雪能力为j的前提下，前i个时间单位里最多能滑多少次雪。我们采用向后递推法转移，有三种选择：(1)喝汽水；(2)参加时刻i开始的课程，能力值改变；(3)在能滑的雪坡中选择一个滑。</p>
<p>现在障碍在于雪坡数太多，每次都尝试所有能滑的雪坡转移代价太高。实际上我们并不需要尝试所有能滑的雪坡，因为滑雪用的时间越短越好，而滑任何雪坡效果都是一样的，能滑的雪坡之间没有优劣之分，所以要选择能滑的雪坡中用时最短的那个。通过预处理，可以在常数时间内获取这个信息。</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('p111code2'); return false;">View Code</a> CPP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1112"><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
</pre></td><td class="code" id="p111code2"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/*
ID: lipeiqi1
LANG: C++
PROB: ski
*/</span>
<span style="color: #339900;">#include &lt;iostream&gt;</span>
&nbsp;
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">struct</span> tlesson
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> start,length,ability<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> lesson<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10001</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> prev<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">101</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">101</span><span style="color: #008000;">&#93;</span>,mintime<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">101</span><span style="color: #008000;">&#93;</span>,f<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10001</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">101</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">bool</span> operator<span style="color: #000080;">&lt;</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> tlesson <span style="color: #000040;">&amp;</span>a,<span style="color: #0000ff;">const</span> tlesson <span style="color: #000040;">&amp;</span>b<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">return</span> a.<span style="color: #007788;">start</span><span style="color: #000080;">&lt;</span>b.<span style="color: #007788;">start</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> update<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> <span style="color: #000040;">&amp;</span>u,<span style="color: #0000ff;">int</span> v<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>u<span style="color: #000080;">&lt;</span>v<span style="color: #008000;">&#41;</span> u<span style="color: #000080;">=</span>v<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<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>
    <span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;ski.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;ski.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: #0000ff;">int</span> t,s,n,require,length<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&quot;</span>,<span style="color: #000040;">&amp;</span>t,<span style="color: #000040;">&amp;</span>s,<span style="color: #000040;">&amp;</span>n<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>s<span style="color: #008080;">;</span><span style="color: #000040;">++</span>i<span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d%d&quot;</span>,<span style="color: #000040;">&amp;</span>lesson<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">start</span>,<span style="color: #000040;">&amp;</span>lesson<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">length</span>,<span style="color: #000040;">&amp;</span>lesson<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">ability</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    sort<span style="color: #008000;">&#40;</span>lesson,lesson<span style="color: #000040;">+</span>s<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;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">101</span><span style="color: #008080;">;</span><span style="color: #000040;">++</span>i<span style="color: #008000;">&#41;</span> mintime<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000ff;">INT_MAX</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>n<span style="color: #008080;">;</span><span style="color: #000040;">++</span>i<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&quot;</span>,<span style="color: #000040;">&amp;</span>require,<span style="color: #000040;">&amp;</span>length<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> j<span style="color: #000080;">=</span>require<span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">101</span><span style="color: #008080;">;</span><span style="color: #000040;">++</span>j<span style="color: #008000;">&#41;</span> mintime<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>min<span style="color: #008000;">&#40;</span>mintime<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span>,length<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>f,<span style="color: #000040;">-</span><span style="color: #0000dd;">1</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>
    f<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><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;">int</span> cur<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>,ans<span style="color: #000080;">=</span><span style="color: #000040;">-</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;">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>t<span style="color: #008080;">;</span><span style="color: #000040;">++</span>i<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>cur<span style="color: #000080;">&lt;</span>s<span style="color: #000040;">&amp;&amp;</span>lesson<span style="color: #008000;">&#91;</span>cur<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">start</span><span style="color: #000080;">&lt;</span>i<span style="color: #008000;">&#41;</span> <span style="color: #000040;">++</span>cur<span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</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;">101</span><span style="color: #008080;">;</span><span style="color: #000040;">++</span>j<span style="color: #008000;">&#41;</span>
            <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</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: #000080;">&gt;</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                update<span style="color: #008000;">&#40;</span>ans,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;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>i<span style="color: #000080;">&lt;</span>t<span style="color: #008000;">&#41;</span> update<span style="color: #008000;">&#40;</span>f<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>,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;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>cur<span style="color: #000080;">&lt;</span>s<span style="color: #000040;">&amp;&amp;</span>lesson<span style="color: #008000;">&#91;</span>cur<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">start</span><span style="color: #000080;">==</span>i<span style="color: #000040;">&amp;&amp;</span>i<span style="color: #000040;">+</span>lesson<span style="color: #008000;">&#91;</span>cur<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">length</span><span style="color: #000080;">&lt;=</span>t<span style="color: #008000;">&#41;</span> update<span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">+</span>lesson<span style="color: #008000;">&#91;</span>cur<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">length</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>lesson<span style="color: #008000;">&#91;</span>cur<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">ability</span><span style="color: #008000;">&#93;</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;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>mintime<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">INT_MAX</span><span style="color: #000040;">&amp;&amp;</span>i<span style="color: #000040;">+</span>mintime<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">&lt;=</span>t<span style="color: #008000;">&#41;</span> update<span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">+</span>mintime<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</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: #000040;">+</span><span style="color: #0000dd;">1</span><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: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&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>

]]></content:encoded>
			<wfw:commentRss>http://blog.lipeiqian.com/archives/111/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>POI 1999 Three-coloring of Binary Trees</title>
		<link>http://blog.lipeiqian.com/archives/91</link>
		<comments>http://blog.lipeiqian.com/archives/91#comments</comments>
		<pubDate>Sun, 17 May 2009 07:41:37 +0000</pubDate>
		<dc:creator>gnarlycow</dc:creator>
				<category><![CDATA[POI]]></category>
		<category><![CDATA[DP]]></category>
		<category><![CDATA[Summary]]></category>

		<guid isPermaLink="false">http://blog.lipeiqian.com/archives/91</guid>
		<description><![CDATA[树型动态规划 首先根据给出的先序遍历序列建树，然后用两遍树型动态规划求出最大和最小值。假设绿色用0表示，1、2表示另外两种颜色。表示以v为根的子树中根结点v的颜色为c时的绿色结点数最大值。当v为叶结点时，而；当v为非叶结点时，我们要给v的孩子结点分配不同于c的颜色，并在所有方案中去最大值，还有不要忘记当c为0时把根结点v自己加进去。求最小值与之类似，只要把所有的max都变为min即可。 ?View Code CPP1 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 [...]]]></description>
			<content:encoded><![CDATA[<p>树型动态规划</p>
<p>首先根据给出的先序遍历序列建树，然后用两遍树型动态规划求出最大和最小值。假设绿色用0表示，1、2表示另外两种颜色。<img src="http://blog.lipeiqian.com/wp-content/cache/tex_ddd594eb502ade89108cdbd7daa128e8.png" align="absmiddle" class="tex" alt="fmax(v,c)" />表示以v为根的子树中根结点v的颜色为c时的绿色结点数最大值。当v为叶结点时，<img src="http://blog.lipeiqian.com/wp-content/cache/tex_1baf455f5f3d779cb0dbc8581d9b9c60.png" align="absmiddle" class="tex" alt="fmax(v,0)=1" />而<img src="http://blog.lipeiqian.com/wp-content/cache/tex_b7171a9686ed70e9977359bdc0fd3bc8.png" align="absmiddle" class="tex" alt="fmax(v,1)=fmax(v,2)=0" />；当v为非叶结点时，我们要给v的孩子结点分配不同于c的颜色，并在所有方案中去最大值，还有不要忘记当c为0时把根结点v自己加进去。求最小值与之类似，只要把所有的max都变为min即可。</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('p91code4'); return false;">View Code</a> CPP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p914"><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
</pre></td><td class="code" id="p91code4"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream&gt;</span>
&nbsp;
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> m,p,num<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10011</span><span style="color: #008000;">&#93;</span>,cleft<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10011</span><span style="color: #008000;">&#93;</span>,cright<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10011</span><span style="color: #008000;">&#93;</span>,f<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10011</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">char</span> s<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10011</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> max<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> a,<span style="color: #0000ff;">int</span> b,<span style="color: #0000ff;">int</span> c<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">return</span> max<span style="color: #008000;">&#40;</span>max<span style="color: #008000;">&#40;</span>a,b<span style="color: #008000;">&#41;</span>,c<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> min<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> a,<span style="color: #0000ff;">int</span> b,<span style="color: #0000ff;">int</span> c<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">return</span> min<span style="color: #008000;">&#40;</span>min<span style="color: #008000;">&#40;</span>a,b<span style="color: #008000;">&#41;</span>,c<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> buildTree<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	num<span style="color: #008000;">&#91;</span>m<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>s<span style="color: #008000;">&#91;</span>p<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">-</span><span style="color: #FF0000;">'0'</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#91;</span>m<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		cleft<span style="color: #008000;">&#91;</span>m<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>m<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		cright<span style="color: #008000;">&#91;</span>m<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #000040;">++</span>m<span style="color: #008080;">;</span>
		buildTree<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: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#91;</span>m<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> t<span style="color: #000080;">=</span>m<span style="color: #008080;">;</span>
		cleft<span style="color: #008000;">&#91;</span>t<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>m<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #000040;">++</span>m<span style="color: #008080;">;</span>
		buildTree<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		cright<span style="color: #008000;">&#91;</span>t<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>m<span style="color: #008080;">;</span>
		buildTree<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: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#91;</span>m<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> cleft<span style="color: #008000;">&#91;</span>m<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>cright<span style="color: #008000;">&#91;</span>m<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span><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>
&nbsp;
<span style="color: #0000ff;">int</span> getMax<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> v,<span style="color: #0000ff;">int</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>f<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>c<span style="color: #008000;">&#93;</span><span style="color: #000080;">&gt;</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> f<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>c<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> r<span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>c<span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> r<span style="color: #000040;">+</span><span style="color: #000080;">=</span>max<span style="color: #008000;">&#40;</span>getMax<span style="color: #008000;">&#40;</span>cleft<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span>,<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">3</span><span style="color: #008000;">&#41;</span>,getMax<span style="color: #008000;">&#40;</span>cleft<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span>,<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">3</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span> r<span style="color: #000040;">+</span><span style="color: #000080;">=</span>max<span style="color: #008000;">&#40;</span>getMax<span style="color: #008000;">&#40;</span>cleft<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span>,<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">3</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">+</span>getMax<span style="color: #008000;">&#40;</span>cright<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span>,<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">3</span><span style="color: #008000;">&#41;</span>,getMax<span style="color: #008000;">&#40;</span>cleft<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span>,<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">3</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">+</span>getMax<span style="color: #008000;">&#40;</span>cright<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span>,<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">3</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> f<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>c<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>r<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> getMin<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> v,<span style="color: #0000ff;">int</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>f<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>c<span style="color: #008000;">&#93;</span><span style="color: #000080;">&gt;</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> f<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>c<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> r<span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>c<span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> r<span style="color: #000040;">+</span><span style="color: #000080;">=</span>min<span style="color: #008000;">&#40;</span>getMin<span style="color: #008000;">&#40;</span>cleft<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span>,<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">3</span><span style="color: #008000;">&#41;</span>,getMin<span style="color: #008000;">&#40;</span>cleft<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span>,<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">3</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span> r<span style="color: #000040;">+</span><span style="color: #000080;">=</span>min<span style="color: #008000;">&#40;</span>getMin<span style="color: #008000;">&#40;</span>cleft<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span>,<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">3</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">+</span>getMin<span style="color: #008000;">&#40;</span>cright<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span>,<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">3</span><span style="color: #008000;">&#41;</span>,getMin<span style="color: #008000;">&#40;</span>cleft<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span>,<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">3</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">+</span>getMin<span style="color: #008000;">&#40;</span>cright<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span>,<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">3</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> f<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>c<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>r<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<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>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;trot.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;trot.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;">gets</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	buildTree<span style="color: #008000;">&#40;</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: #000040;">-</span><span style="color: #0000dd;">1</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;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d &quot;</span>,max<span style="color: #008000;">&#40;</span>getMax<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>,getMax<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>,getMax<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><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>f,<span style="color: #000040;">-</span><span style="color: #0000dd;">1</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;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,min<span style="color: #008000;">&#40;</span>getMin<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>,getMin<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>,getMin<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</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>

]]></content:encoded>
			<wfw:commentRss>http://blog.lipeiqian.com/archives/91/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
