﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Yiner的ACM-随笔分类-DP</title><link>http://www.cppblog.com/ljy1992/category/16401.html</link><description>成长的痕迹</description><language>zh-cn</language><lastBuildDate>Sat, 23 Apr 2011 16:21:35 GMT</lastBuildDate><pubDate>Sat, 23 Apr 2011 16:21:35 GMT</pubDate><ttl>60</ttl><item><title>POJ 1742 多重背包</title><link>http://www.cppblog.com/ljy1992/archive/2011/04/22/144804.html</link><dc:creator>Yiner</dc:creator><author>Yiner</author><pubDate>Fri, 22 Apr 2011 14:27:00 GMT</pubDate><guid>http://www.cppblog.com/ljy1992/archive/2011/04/22/144804.html</guid><wfw:comment>http://www.cppblog.com/ljy1992/comments/144804.html</wfw:comment><comments>http://www.cppblog.com/ljy1992/archive/2011/04/22/144804.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ljy1992/comments/commentRss/144804.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ljy1992/services/trackbacks/144804.html</trackback:ping><description><![CDATA[<span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span>
<pre style="BACKGROUND-COLOR: white; FONT-STYLE: normal; FONT-FAMILY: 'Courier New', Courier, monospace; COLOR: black; FONT-WEIGHT: normal" class="sh_cpp sh_sourceCode"><span style="COLOR: rgb(0,0,139); FONT-WEIGHT: bold" class=sh_preproc>#include</span><span style="FONT-FAMILY: monospace; COLOR: red" class=sh_string>&lt;iostream&gt;</span>
<span style="COLOR: rgb(0,0,139); FONT-WEIGHT: bold" class=sh_preproc>#include</span><span style="FONT-FAMILY: monospace; COLOR: red" class=sh_string>&lt;stdio.h&gt;</span>
<span style="COLOR: rgb(0,0,139); FONT-WEIGHT: bold" class=sh_preproc>#include</span><span style="FONT-FAMILY: monospace; COLOR: red" class=sh_string>&lt;cstring&gt;</span>
<span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>using</span> <span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>namespace</span> std<span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>
<span style="COLOR: rgb(0,100,0)" class=sh_type>int</span> a<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span><span style="COLOR: purple" class=sh_number>101</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>],</span>c<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span><span style="COLOR: purple" class=sh_number>101</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>];</span>
<span style="COLOR: rgb(0,100,0)" class=sh_type>int</span> num<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span><span style="COLOR: purple" class=sh_number>100001</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>],</span>f<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span><span style="COLOR: purple" class=sh_number>100001</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>];</span>
<span style="COLOR: rgb(0,100,0)" class=sh_type>int</span> <span style="COLOR: black; FONT-WEIGHT: bold" class=sh_function>main</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>()</span>
<span style="COLOR: red" class=sh_cbracket>{</span>
<span style="COLOR: rgb(0,100,0)" class=sh_type>int</span> n<span style="COLOR: rgb(139,0,0)" class=sh_symbol>,</span>m<span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>
<span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>while</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span><span style="COLOR: black; FONT-WEIGHT: bold" class=sh_function>scanf</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span><span style="FONT-FAMILY: monospace; COLOR: red" class=sh_string>"%d %d"</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>,&amp;</span>n<span style="COLOR: rgb(139,0,0)" class=sh_symbol>,&amp;</span>m<span style="COLOR: rgb(139,0,0)" class=sh_symbol>)!=</span>EOF<span style="COLOR: rgb(139,0,0)" class=sh_symbol>)</span>
<span style="COLOR: red" class=sh_cbracket>{</span>
<span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>if</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span>n<span style="COLOR: rgb(139,0,0)" class=sh_symbol>==</span><span style="COLOR: purple" class=sh_number>0</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>&amp;&amp;</span>m<span style="COLOR: rgb(139,0,0)" class=sh_symbol>==</span><span style="COLOR: purple" class=sh_number>0</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>)</span>
<span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>break</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>
<span style="COLOR: rgb(0,100,0)" class=sh_type>int</span> sum<span style="COLOR: rgb(139,0,0)" class=sh_symbol>=</span><span style="COLOR: purple" class=sh_number>0</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>
<span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>for</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span><span style="COLOR: rgb(0,100,0)" class=sh_type>int</span> i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>=</span><span style="COLOR: purple" class=sh_number>1</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>&lt;=</span>n<span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>++)</span>
<span style="COLOR: black; FONT-WEIGHT: bold" class=sh_function>scanf</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span><span style="FONT-FAMILY: monospace; COLOR: red" class=sh_string>"%d"</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>,&amp;</span>a<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>]);</span>
<span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>for</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span><span style="COLOR: rgb(0,100,0)" class=sh_type>int</span> i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>=</span><span style="COLOR: purple" class=sh_number>1</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>&lt;=</span>n<span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>++)</span>
<span style="COLOR: black; FONT-WEIGHT: bold" class=sh_function>scanf</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span><span style="FONT-FAMILY: monospace; COLOR: red" class=sh_string>"%d"</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>,&amp;</span>c<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>]);</span>
<span style="COLOR: black; FONT-WEIGHT: bold" class=sh_function>memset</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span>f<span style="COLOR: rgb(139,0,0)" class=sh_symbol>,</span><span style="COLOR: purple" class=sh_number>0</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>,</span><span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>sizeof</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span>f<span style="COLOR: rgb(139,0,0)" class=sh_symbol>));</span>
f<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span><span style="COLOR: purple" class=sh_number>0</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>]=</span><span style="COLOR: purple" class=sh_number>1</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>
<span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>for</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span><span style="COLOR: rgb(0,100,0)" class=sh_type>int</span> i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>=</span><span style="COLOR: purple" class=sh_number>1</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>&lt;=</span>n<span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>++)</span>
<span style="COLOR: red" class=sh_cbracket>{</span>
<span style="COLOR: black; FONT-WEIGHT: bold" class=sh_function>memset</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span>num<span style="COLOR: rgb(139,0,0)" class=sh_symbol>,</span><span style="COLOR: purple" class=sh_number>0</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>,</span><span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>sizeof</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span>num<span style="COLOR: rgb(139,0,0)" class=sh_symbol>));</span>
<span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>for</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span><span style="COLOR: rgb(0,100,0)" class=sh_type>int</span> j<span style="COLOR: rgb(139,0,0)" class=sh_symbol>=</span>a<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>];</span>j<span style="COLOR: rgb(139,0,0)" class=sh_symbol>&lt;=</span>m<span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>j<span style="COLOR: rgb(139,0,0)" class=sh_symbol>++)</span>
<span style="COLOR: red" class=sh_cbracket>{</span>
<span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>if</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(!</span>f<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>j<span style="COLOR: rgb(139,0,0)" class=sh_symbol>]&amp;&amp;</span>f<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>j<span style="COLOR: rgb(139,0,0)" class=sh_symbol>-</span>a<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>]]&amp;&amp;</span>num<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>j<span style="COLOR: rgb(139,0,0)" class=sh_symbol>-</span>a<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>]]&lt;</span>c<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>])</span>
<span style="COLOR: red" class=sh_cbracket>{</span>
num<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>j<span style="COLOR: rgb(139,0,0)" class=sh_symbol>]=</span>num<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>j<span style="COLOR: rgb(139,0,0)" class=sh_symbol>-</span>a<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>i<span style="COLOR: rgb(139,0,0)" class=sh_symbol>]]+</span><span style="COLOR: purple" class=sh_number>1</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>
sum<span style="COLOR: rgb(139,0,0)" class=sh_symbol>++;</span>
f<span style="COLOR: rgb(139,0,0)" class=sh_symbol>[</span>j<span style="COLOR: rgb(139,0,0)" class=sh_symbol>]=</span><span style="COLOR: purple" class=sh_number>1</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>
<span style="COLOR: red" class=sh_cbracket>}</span>
<span style="COLOR: red" class=sh_cbracket>}</span>
<span style="COLOR: red" class=sh_cbracket>}</span>
<span style="COLOR: black; FONT-WEIGHT: bold" class=sh_function>printf</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>(</span><span style="FONT-FAMILY: monospace; COLOR: red" class=sh_string>"%d</span><span style="FONT-FAMILY: monospace; COLOR: rgb(255,192,203)" class=sh_specialchar>\n</span><span style="FONT-FAMILY: monospace; COLOR: red" class=sh_string>"</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>,</span>sum<span style="COLOR: rgb(139,0,0)" class=sh_symbol>);</span>
<span style="COLOR: red" class=sh_cbracket>}</span>
<span style="COLOR: blue; FONT-WEIGHT: bold" class=sh_keyword>return</span> <span style="COLOR: purple" class=sh_number>0</span><span style="COLOR: rgb(139,0,0)" class=sh_symbol>;</span>
<span style="COLOR: red" class=sh_cbracket>}</span></pre>
</span>
<img src ="http://www.cppblog.com/ljy1992/aggbug/144804.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ljy1992/" target="_blank">Yiner</a> 2011-04-22 22:27 <a href="http://www.cppblog.com/ljy1992/archive/2011/04/22/144804.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>双向的动态规划问题 POJ 2593</title><link>http://www.cppblog.com/ljy1992/archive/2011/03/22/142520.html</link><dc:creator>Yiner</dc:creator><author>Yiner</author><pubDate>Tue, 22 Mar 2011 14:28:00 GMT</pubDate><guid>http://www.cppblog.com/ljy1992/archive/2011/03/22/142520.html</guid><wfw:comment>http://www.cppblog.com/ljy1992/comments/142520.html</wfw:comment><comments>http://www.cppblog.com/ljy1992/archive/2011/03/22/142520.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ljy1992/comments/commentRss/142520.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ljy1992/services/trackbacks/142520.html</trackback:ping><description><![CDATA[<a href="http://poj.org/problem?id=2593">http://poj.org/problem?id=2593</a><br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #000000">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;MIN&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">999999999</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">定义MIN为只读变量&nbsp;为一个非常小的值</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a[</span><span style="COLOR: #000000">100001</span><span style="COLOR: #000000">];<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;ans[</span><span style="COLOR: #000000">100001</span><span style="COLOR: #000000">];<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br><img id=Codehighlighter1_150_923_Open_Image onclick="this.style.display='none'; Codehighlighter1_150_923_Open_Text.style.display='none'; Codehighlighter1_150_923_Closed_Image.style.display='inline'; Codehighlighter1_150_923_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_150_923_Closed_Image onclick="this.style.display='none'; Codehighlighter1_150_923_Closed_Text.style.display='none'; Codehighlighter1_150_923_Open_Image.style.display='inline'; Codehighlighter1_150_923_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_150_923_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_150_923_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;an;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n)</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">EOF)<br><img id=Codehighlighter1_211_907_Open_Image onclick="this.style.display='none'; Codehighlighter1_211_907_Open_Text.style.display='none'; Codehighlighter1_211_907_Closed_Image.style.display='inline'; Codehighlighter1_211_907_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_211_907_Closed_Image onclick="this.style.display='none'; Codehighlighter1_211_907_Closed_Text.style.display='none'; Codehighlighter1_211_907_Open_Image.style.display='inline'; Codehighlighter1_211_907_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_211_907_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_211_907_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(n</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;sum</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">MIN;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_321_543_Open_Image onclick="this.style.display='none'; Codehighlighter1_321_543_Open_Text.style.display='none'; Codehighlighter1_321_543_Closed_Image.style.display='inline'; Codehighlighter1_321_543_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_321_543_Closed_Image onclick="this.style.display='none'; Codehighlighter1_321_543_Closed_Text.style.display='none'; Codehighlighter1_321_543_Open_Image.style.display='inline'; Codehighlighter1_321_543_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_321_543_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_321_543_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">a[i]);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">a[i];<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(sum</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">k)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">sum;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">k;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">第i个数前的最大连续和为ans[i]</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(sum</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如果sum&lt;0&nbsp;则舍弃前面的数&nbsp;sum从下一个数开始加</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">an</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">MIN;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">n;j</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">反方向查找</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_622_873_Open_Image onclick="this.style.display='none'; Codehighlighter1_622_873_Open_Text.style.display='none'; Codehighlighter1_622_873_Closed_Image.style.display='inline'; Codehighlighter1_622_873_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_622_873_Closed_Image onclick="this.style.display='none'; Codehighlighter1_622_873_Closed_Text.style.display='none'; Codehighlighter1_622_873_Open_Image.style.display='inline'; Codehighlighter1_622_873_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_622_873_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_622_873_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">a[j];<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(sum</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">k)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">sum;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(an</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">(ans[j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">k))</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">从后数前n-j+1个数的最大连续和k&nbsp;加上&nbsp;正数第j-1个数的最大连续和</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;an</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">ans[j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">k;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">用an</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(sum</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如果sum&lt;0&nbsp;则舍弃前面的数&nbsp;sum从下一个数开始加</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,an);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span></div>
<img src ="http://www.cppblog.com/ljy1992/aggbug/142520.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ljy1992/" target="_blank">Yiner</a> 2011-03-22 22:28 <a href="http://www.cppblog.com/ljy1992/archive/2011/03/22/142520.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>