﻿<?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++博客-zhgw01-随笔分类-算法</title><link>http://www.cppblog.com/zhgw01/category/7311.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 19 Apr 2009 00:45:19 GMT</lastBuildDate><pubDate>Sun, 19 Apr 2009 00:45:19 GMT</pubDate><ttl>60</ttl><item><title>腾讯面试中一道题</title><link>http://www.cppblog.com/zhgw01/archive/2009/04/16/80180.html</link><dc:creator>apacs</dc:creator><author>apacs</author><pubDate>Thu, 16 Apr 2009 12:39:00 GMT</pubDate><guid>http://www.cppblog.com/zhgw01/archive/2009/04/16/80180.html</guid><wfw:comment>http://www.cppblog.com/zhgw01/comments/80180.html</wfw:comment><comments>http://www.cppblog.com/zhgw01/archive/2009/04/16/80180.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/zhgw01/comments/commentRss/80180.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhgw01/services/trackbacks/80180.html</trackback:ping><description><![CDATA[<p>题目：1分钟内用户上线的数目是60万，如果用户在5分钟内重复上线，就给他发警告，问如何设计？<br><br>考虑：要判断用户是否在5分内重复上线，那么至少要（也只需要）保存距当前时刻5分钟内的登录用户的信息（只要简单的ID）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从这个开始出发，需要考虑的问题为2个：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.如何在迅速判断用户是否在保存的数据中 （这个理所当然想道用hash）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. 如果把过期的数据删掉&nbsp; （这个就想到维护一个时间链表，把到期的通过链表来删除）<br><br><img height=527 alt="" src="http://www.cppblog.com/images/cppblog_com/zhgw01/onlineCounting.jpg" width=472 border=0></p>
<br>这个是半年前腾讯面试的时候碰到的题目，当时觉得很难，今天走在路上突然想起，想了想，突然想到这种方法，也许不是最好，但至少解决了，也了解了一件事
<img src ="http://www.cppblog.com/zhgw01/aggbug/80180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhgw01/" target="_blank">apacs</a> 2009-04-16 20:39 <a href="http://www.cppblog.com/zhgw01/archive/2009/04/16/80180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>括号数和catalan数</title><link>http://www.cppblog.com/zhgw01/archive/2008/06/05/52306.html</link><dc:creator>apacs</dc:creator><author>apacs</author><pubDate>Thu, 05 Jun 2008 15:03:00 GMT</pubDate><guid>http://www.cppblog.com/zhgw01/archive/2008/06/05/52306.html</guid><wfw:comment>http://www.cppblog.com/zhgw01/comments/52306.html</wfw:comment><comments>http://www.cppblog.com/zhgw01/archive/2008/06/05/52306.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhgw01/comments/commentRss/52306.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhgw01/services/trackbacks/52306.html</trackback:ping><description><![CDATA[给定 P=a1&#215;a2&#215;a3&#215;&#8230;&#8230;&#215;an，依据乘法结合律，不改变其顺序，只用括号表示成对的乘积，试问有几种括号化的方案<br><br>n=4的例子如下<br><img class=tex alt="((ab)c)d \quad (a(bc))d \quad(ab)(cd) \quad a((bc)d) \quad a(b(cd))" src="http://en.wikilib.com/images/math/0/f/9/0f95f511173c52ef07ab865ac7bc9b3f.png"><br><br>假设这个数是h(n-1), （这里之所以是n-1，是因为实际上n指的是元素个数，每2个元素乘一次，只要n-1次就可以乘完)<br>那么显然h(n-1)=h(0)h(n-2)+h(1)h(n-3)+...+h(n-2)h(0)&nbsp; <br>对应的例子则是<br>a(b(cd)) a((bc)d)&nbsp;&nbsp;&nbsp; h(0)h(n-2)&nbsp; (只要先对右边的n-2个元素进行乘积，接着再跟最左边的元素相乘，h(0)=1）<br>(ab)(cd)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;h(1)h(n-3)&nbsp; (先乘最左边的2个元素，再乘最右边的n-3个元素，之后再把这2个元素相乘）<br>(a(bc))d ((ab)c)d&nbsp;&nbsp;&nbsp; h(n-2)h(0)&nbsp; <br><br><br>从括号化展开的应用<br>1. 进出栈<br>&nbsp;&nbsp; 对括号进行进出栈的模拟，左括号代表进栈，右括号代表进行出栈，那么进出栈的顺序就相当于括号化的方案<br>2.三角剖分<br>&nbsp;&nbsp; 三角剖分就是从距阵乘法类比过来的，而距阵乘法就是括号化的问题<br>
<img src ="http://www.cppblog.com/zhgw01/aggbug/52306.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhgw01/" target="_blank">apacs</a> 2008-06-05 23:03 <a href="http://www.cppblog.com/zhgw01/archive/2008/06/05/52306.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>集合划分问题</title><link>http://www.cppblog.com/zhgw01/archive/2008/06/05/52294.html</link><dc:creator>apacs</dc:creator><author>apacs</author><pubDate>Thu, 05 Jun 2008 12:53:00 GMT</pubDate><guid>http://www.cppblog.com/zhgw01/archive/2008/06/05/52294.html</guid><wfw:comment>http://www.cppblog.com/zhgw01/comments/52294.html</wfw:comment><comments>http://www.cppblog.com/zhgw01/archive/2008/06/05/52294.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhgw01/comments/commentRss/52294.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhgw01/services/trackbacks/52294.html</trackback:ping><description><![CDATA[<p><strong>问题：<br><br></strong>n个元素的集合{1,2,.,n }可以划分为若干个非空子集。例如，当n=4 时，集合{1,2,3,4}可以划分为15个不同的非空子集如下： <br>{1}，{2}，{3}，{4}}， {{1，2}，{3}，{4}}， <br>{{1，3}，{2}，{4}}， {{1，4}，{2}，{3}}， <br>{{2，3}，{1}，{4}}， {{2，4}，{1}，{3}}， <br>{{3，4}，{1}，{2}}， {{1，2}，{3，4}}， <br>{{1，3}，{2，4}}， {{1，4}，{2，3}}， <br>{{1，2，3}，{4}}， {{1，2，4}，{3}}， <br>{{1，3，4}，{2}}， {{2，3，4}，{1}}， <br>{{1，2，3，4}} <br>其中，集合{{1，2，3，4}} 由1个子集组成；集合{{1，2}，{3，4}}，{{1，3}，{2，4}}，{{1，4}，{2，3}}，{{1，2，3}，{4}}，{{1，2，4}，{3}}，{{1，3，4}，{2}}，{{2，3，4}，{1}} 由2个子集组成；集合{{1，2}，{3}，{4}}，{{1，3}，{2}，{4}}，{{1，4}.{2}，{3}}，{{2，3}，{1}，{4}}，{{2，4}，{1}，{3}}，{{3，4}，{1}，{2}} 由3 个子集组成；集合{{1}，{2}，{3}，{4}} 由4个子集组成。 <br>编程任务： <br>给定正整数n 和m，计算出n 个元素的集合{1,2,., n }可以划分为多少个不同的由m 个 <br>非空子集组成的集合。 <br>数据输入： <br>由文件input.txt 提供输入数据。文件的第1 行是元素个数n 和非空子集数m。 <br>结果输出: <br>程序运行结束时，将计算出的不同的由m个非空子集组成的集合数输出到文件output.txt中。 <br>输入文件示例输出文件示例 <br>input.txt output.txt <br>5 52 <br><br><strong>解题思路：<br><br></strong>设n个元素的集合可以划分为F(n,m)个不同的由m个非空子集组成的集合。 <br><br>考虑3个元素的集合，可划分为 <br>① 1个子集的集合：{{1，2，3}} <br>② 2个子集的集合：{{1，2}，{3}}，{{1，3}，{2}}，{{2，3}，{1}} <br>③ 3个子集的集合：{{1}，{2}，{3}} <br>&#8756;F(3,1)=1;F(3,2)=3;F(3,3)=1; <br><br>如果要求F(4,2)该怎么办呢？ <br><br>A.往①里添一个元素{4}，得到{{1，2，3}，{4}} <br><br>B.往②里的任意一个子集添一个4，得到 <br>{{1，2，4}，{3}}，{{1，2}，{3，4}}， <br>{{1，3，4}，{2}}，{{1，3}，{2，4}}， <br>{{2，3，4}，{1}}，{{2，3}，{1，4}} <br><br>&#8756;F(4,2)=F(3,1)+2*F(3,2)＝1+2*3＝7 <br><br>推广，得F(n,m)=F(n-1,m-1)+m*F(n-1,m)<br><br></p>
<p>注：<br>解法来自网络。一本书上只是简单的说这是bell数，但是对组合论不是太了解。所以看到这个答案时觉得很清晰，就记录了下来</p>
</ca>
<img src ="http://www.cppblog.com/zhgw01/aggbug/52294.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhgw01/" target="_blank">apacs</a> 2008-06-05 20:53 <a href="http://www.cppblog.com/zhgw01/archive/2008/06/05/52294.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>士兵站队之关于带权中位数的使用</title><link>http://www.cppblog.com/zhgw01/archive/2008/06/05/52292.html</link><dc:creator>apacs</dc:creator><author>apacs</author><pubDate>Thu, 05 Jun 2008 12:46:00 GMT</pubDate><guid>http://www.cppblog.com/zhgw01/archive/2008/06/05/52292.html</guid><wfw:comment>http://www.cppblog.com/zhgw01/comments/52292.html</wfw:comment><comments>http://www.cppblog.com/zhgw01/archive/2008/06/05/52292.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhgw01/comments/commentRss/52292.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhgw01/services/trackbacks/52292.html</trackback:ping><description><![CDATA[<p><span style="FONT-SIZE: 12pt">1. 带权中位数</span>：<br><br>&nbsp;&nbsp;&nbsp;带权中位数的应用场景是：一条线上有n个点，找出一个位置，使n个点到这个位置的带权距离最小。一般这个位置就是n个点的带权中位数。如果没有涉及到权重问题，则指得就是中位数。 <br>&nbsp;&nbsp; 上面说的距离都是指绝对距离，即|x1-x2|<br><br>2. 士兵站队<br>&nbsp;&nbsp; <br><strong>问题：</strong>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp; 在一个划分成网格的操场上，n个士兵散乱地站在网格点上。网格点由整数坐标(x,y)表示。士兵们可以沿网格边上、下、左、右移动一步，但在同一时刻任一网格点上只能有一名士兵。按照军官的命令，士兵们要整齐地列成一个水平队列，即排列成(x,y),(x+1,y),&#8230;,(x+n-1,y)。如何选择x和y的值才能使士兵们以最少的总移动步数排成一列。 <br><br><strong>算法</strong>：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">algorithm</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></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;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;x[</span><span style="COLOR: #000000">10000</span><span style="COLOR: #000000">];&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;y[</span><span style="COLOR: #000000">10000</span><span style="COLOR: #000000">];&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()&nbsp;<br><img id=Codehighlighter1_110_646_Open_Image onclick="this.style.display='none'; Codehighlighter1_110_646_Open_Text.style.display='none'; Codehighlighter1_110_646_Closed_Image.style.display='inline'; Codehighlighter1_110_646_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_110_646_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_110_646_Closed_Text.style.display='none'; Codehighlighter1_110_646_Open_Image.style.display='inline'; Codehighlighter1_110_646_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_110_646_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_110_646_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">n;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;n;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">i)&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">x[i]</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">y[i];&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;tempx;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;tempy;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">带权中位数的第一次用，因为y最后都是一样，所以向y移动的总步数要最少</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">nth_element(y,&nbsp;y&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;n&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,&nbsp;y&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;n);&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>tempy&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;y[n</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">];&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>sort(x,&nbsp;x&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;n);&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">x最好是要不一样的，所以先假定他们排成0,1,2<img src="http://www.cppblog.com/Images/dot.gif">,n</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;n;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">i)&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>x[i]&nbsp;</span><span style="COLOR: #000000">-=</span><span style="COLOR: #000000">&nbsp;i;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">最后剩余的是offset，所以要选一个中位数（对上面的排列进行complete，使其成为最后真正的排列），使得各个offset到这个位置的总步数最少</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">nth_element(x,&nbsp;x&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;n&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,&nbsp;x&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;n);&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>tempx</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;x[n</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">];&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;total</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;n;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">i)&nbsp;<br><img id=Codehighlighter1_561_622_Open_Image onclick="this.style.display='none'; Codehighlighter1_561_622_Open_Text.style.display='none'; Codehighlighter1_561_622_Closed_Image.style.display='inline'; Codehighlighter1_561_622_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_561_622_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_561_622_Closed_Text.style.display='none'; Codehighlighter1_561_622_Open_Image.style.display='inline'; Codehighlighter1_561_622_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span id=Codehighlighter1_561_622_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_561_622_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>total&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;abs(y[i]&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;tempy);&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>total&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;abs(x[i]&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;tempx);&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">total</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br><br>注：<br>基本这个算法来自网路，但由于没有注释，看了很久才弄明白，于是在这里记录下来
<img src ="http://www.cppblog.com/zhgw01/aggbug/52292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhgw01/" target="_blank">apacs</a> 2008-06-05 20:46 <a href="http://www.cppblog.com/zhgw01/archive/2008/06/05/52292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>