﻿<?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++博客-pcfeng502</title><link>http://www.cppblog.com/pcfeng502/</link><description>Brown's Space</description><language>zh-cn</language><lastBuildDate>Wed, 08 Apr 2026 14:03:43 GMT</lastBuildDate><pubDate>Wed, 08 Apr 2026 14:03:43 GMT</pubDate><ttl>60</ttl><item><title>2739 -- Sum of Consecutive Prime Numbers</title><link>http://www.cppblog.com/pcfeng502/archive/2010/10/16/130161.html</link><dc:creator>ACM Fighter!</dc:creator><author>ACM Fighter!</author><pubDate>Sat, 16 Oct 2010 13:08:00 GMT</pubDate><guid>http://www.cppblog.com/pcfeng502/archive/2010/10/16/130161.html</guid><wfw:comment>http://www.cppblog.com/pcfeng502/comments/130161.html</wfw:comment><comments>http://www.cppblog.com/pcfeng502/archive/2010/10/16/130161.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/pcfeng502/comments/commentRss/130161.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pcfeng502/services/trackbacks/130161.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; I haven't programming for years, so I decided to refresh it today. At least, this is the key point of CS&amp;T, right?<br>&nbsp;&nbsp;&nbsp; This problem is quite easy. It is easy to see that 2739 belongs to Number Theory. And key point lies on "consecutive"(If not, it'll be much harder:|). Since it requires that, and we only need to use the primes in [2,10000], it is easy to see that we can solve this in the following steps:<br>&nbsp;&nbsp;&nbsp; 1.Get all primes in [2,10000];<br>&nbsp;&nbsp;&nbsp; 2.Reset the counter to 0. Then, start from 2 and calculate the sums, namely, 2, 2+3, 2+3+5, ..., until the sum is great than 10000; for those who are less than that, increase the counter of that sum, correspondingly, 2,5,10,......<br>&nbsp;&nbsp;&nbsp; 3.For each input between 2 and 10000, output the precalculated sum.<br>Source code as followed:<br>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><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;"><br>#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">cmath</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br><br></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></span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;MAXN&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">10000</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;f[MAXN</span><span style="color: #000000;">+</span><span style="color: #000000;">10</span><span style="color: #000000;">];<br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;np;<br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;p[MAXN</span><span style="color: #000000;">+</span><span style="color: #000000;">10</span><span style="color: #000000;">];<br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;sum[MAXN</span><span style="color: #000000;">+</span><span style="color: #000000;">10</span><span style="color: #000000;">];<br><br><br></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;findPrime()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;memset(f,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(f));<br>&nbsp;&nbsp;&nbsp;&nbsp;f[</span><span style="color: #000000;">0</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;f[</span><span style="color: #000000;">1</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;</span><span style="color: #008000;">//</span><span style="color: #008000;">doesn't&nbsp;matter&nbsp;anyway</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;tmp&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;abs(sqrt(MAXN</span><span style="color: #000000;">*</span><span style="color: #000000;">1.0</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</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;">2</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;tmp;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(f[i])&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;j&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;i</span><span style="color: #000000;">+</span><span style="color: #000000;">i;&nbsp;j&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;MAXN;&nbsp;j</span><span style="color: #000000;">+=</span><span style="color: #000000;">i)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f[j]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">false</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;ctr&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</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;">2</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;MAXN;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(f[i])&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[ctr</span><span style="color: #000000;">++</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;np&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;ctr;<br>}<br><br></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;geneSum()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;memset(sum,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(sum));<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</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;np;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;tsum&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;j&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;i;&nbsp;j&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;np;&nbsp;j</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tsum&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;p[j];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(tsum&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;MAXN)&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum[tsum]</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br><br></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;initi()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;findPrime();<br>&nbsp;&nbsp;&nbsp;&nbsp;geneSum();<br>}<br><br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;initi();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;n;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">1</span><span style="color: #000000;">)&nbsp;{<br>&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;">,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">n);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(n&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br>&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;">,&nbsp;sum[n]);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&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>}<br></span></div>
<br><img src ="http://www.cppblog.com/pcfeng502/aggbug/130161.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pcfeng502/" target="_blank">ACM Fighter!</a> 2010-10-16 21:08 <a href="http://www.cppblog.com/pcfeng502/archive/2010/10/16/130161.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Recover My Files; data recovery</title><link>http://www.cppblog.com/pcfeng502/archive/2010/04/27/113788.html</link><dc:creator>ACM Fighter!</dc:creator><author>ACM Fighter!</author><pubDate>Tue, 27 Apr 2010 15:52:00 GMT</pubDate><guid>http://www.cppblog.com/pcfeng502/archive/2010/04/27/113788.html</guid><wfw:comment>http://www.cppblog.com/pcfeng502/comments/113788.html</wfw:comment><comments>http://www.cppblog.com/pcfeng502/archive/2010/04/27/113788.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/pcfeng502/comments/commentRss/113788.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pcfeng502/services/trackbacks/113788.html</trackback:ping><description><![CDATA[Recover My files is a very good software. Easy 2 use and can recover the deleted and unindexed files.<br><img src ="http://www.cppblog.com/pcfeng502/aggbug/113788.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pcfeng502/" target="_blank">ACM Fighter!</a> 2010-04-27 23:52 <a href="http://www.cppblog.com/pcfeng502/archive/2010/04/27/113788.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]常用图像空域滤波技术</title><link>http://www.cppblog.com/pcfeng502/archive/2010/04/13/112471.html</link><dc:creator>ACM Fighter!</dc:creator><author>ACM Fighter!</author><pubDate>Tue, 13 Apr 2010 09:17:00 GMT</pubDate><guid>http://www.cppblog.com/pcfeng502/archive/2010/04/13/112471.html</guid><wfw:comment>http://www.cppblog.com/pcfeng502/comments/112471.html</wfw:comment><comments>http://www.cppblog.com/pcfeng502/archive/2010/04/13/112471.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/pcfeng502/comments/commentRss/112471.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pcfeng502/services/trackbacks/112471.html</trackback:ping><description><![CDATA[<div class="postTitle">
<a  href="http://www.cnblogs.com/saintbird/archive/2008/08/21/1272238.html" id="ctl04_TitleUrl" class="postTitle2"><br></a>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
空域滤波技术根据功能主要分为平滑滤波与锐化滤波，平滑滤波能减弱或消除图像中的高频率分量而不影响低频分量。因为高频分量对应图像中的区域边缘等灰度值
具有较大变化的部分，平滑滤波可将这些分量滤去减少局部灰度起伏，是图像变得比较平滑。实际应用中，平滑滤波还可用于消除噪声，或在提取较大目标前去除太
小的细节或将目标的小间断连接起来。锐化滤波正好相反，实际应用中锐化滤波常用于增强被模糊的细节或目标的边缘。</p>
<p>&nbsp; &nbsp; &nbsp; 空域滤波是在图像空间通过邻域操作完成的，实现的方式基本都是利用模板（窗）进行卷积来进行，实现的基本步骤为：</p>
<p style="font-weight: bold;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、将模板中心与图中某个像素位置重合；<br>
</p>
<p style="font-weight: bold;">&nbsp; &nbsp; &nbsp; 2、将模板的各个系数与模板下各对应像素的灰度值相乘；</p>
<p style="font-weight: bold;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、将所有乘积相加，再除以模板的系数个数；<br>
</p>
<p style="font-weight: bold;">&nbsp; &nbsp;&nbsp;&nbsp; 4、将上述运算结果赋给图中对应模板中心位置的像素。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 常见的空域滤波器：<br>
</p>
<p>&nbsp; &nbsp;&nbsp;&nbsp; 1、邻域平均：将一个像素邻域平均值作为滤波结果，此时滤波器模板的所有系数都取为1。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2、加权平均：对同一尺寸的模板，可对不同位置的系数采用不同的数值。实际应用中，常取模板周边最小的系数为1，而取内部的系数成比例增加，中心系数最
大。</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; 加权平均模板示例：<br>
</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;  &nbsp; 2&nbsp;&nbsp;  &nbsp; 1</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; 2</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 1<br>
</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp; 3、高斯分布：借助杨辉三角对高斯函数进行近似。</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 高斯模板系数：</p>
<p> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1<br>
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 1<br>
</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp; 1 &nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp; 1</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp; 1</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp; 10&nbsp; 10&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp; 1&nbsp;</p>
<p>&nbsp; &nbsp; &nbsp; 4、中值滤波：中值滤波是一种非线性滤波方式，可用如下步骤完成。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; （1）将模板在图中漫游，并将模板中心与图中某个像素位置重合；<br>
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; （2）读取模板下各对应像素的灰度值；<br>
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; （3）将这些灰度值从小到大进行排序；<br>
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; （4）找出中间值并赋给对应模板中心位置的像素。<br>
</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 一般情况下中值滤波的效果要比邻域平均处理的低通滤波效果好，主要特点是滤波后图像中的轮廓比较清晰。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
5、最频值滤波：通过直方图统计中心像素点的灰度分布情况，将<span style="font-weight: bold;">出现次数最多的灰度值</span>（即直方图波峰位置）赋给中心位置的像素。如果直方图是对称的且仅有一
个峰，那么均值、中值和最频值相同。如果直方图仅有一个波峰但不对称，那么最频值对应波峰，而中值总比均值更接近最频值。<br>
</p>
<p>&nbsp; &nbsp; &nbsp;
6、锐化滤波：图像锐化一般是通过微分运算来实现的，图像处理中最常用的微分方法是利用梯度（基于一阶微分）。在离散空间，<span style="font-weight: bold;">微分用差分实现</span>，常用的差分模板如下：</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; -1&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;
&nbsp;&nbsp;  1&nbsp;&nbsp;  1&nbsp;&nbsp;  1<br>
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; -1&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;
&nbsp;&nbsp;  <br>
</p>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; -1&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;  -1&nbsp; -1 -1<img src ="http://www.cppblog.com/pcfeng502/aggbug/112471.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pcfeng502/" target="_blank">ACM Fighter!</a> 2010-04-13 17:17 <a href="http://www.cppblog.com/pcfeng502/archive/2010/04/13/112471.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>NOCOW - USACO/ S3.1 Stamps</title><link>http://www.cppblog.com/pcfeng502/archive/2009/11/17/101252.html</link><dc:creator>ACM Fighter!</dc:creator><author>ACM Fighter!</author><pubDate>Tue, 17 Nov 2009 13:44:00 GMT</pubDate><guid>http://www.cppblog.com/pcfeng502/archive/2009/11/17/101252.html</guid><wfw:comment>http://www.cppblog.com/pcfeng502/comments/101252.html</wfw:comment><comments>http://www.cppblog.com/pcfeng502/archive/2009/11/17/101252.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/pcfeng502/comments/commentRss/101252.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pcfeng502/services/trackbacks/101252.html</trackback:ping><description><![CDATA[一道简单的动态规划，可以先写出递归方程（注意到每一总票值都是由比它小的票值产生的），然后通过其求解。<br><br>
<hr>
<p>用F[i]表示得到i面值所需要的最少邮票个数，Value[j](j=1..Stamps)表示每个邮票的面值，可得以下转移方程：
</p>
<pre class="c">F<span style="color: #66cc66;">[</span>i<span style="color: #66cc66;">]</span>=Min <span style="color: #66cc66;">(</span> F<span style="color: #66cc66;">[</span>i-Value<span style="color: #66cc66;">[</span>j<span style="color: #66cc66;">]</span><span style="color: #66cc66;">]</span> + <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">)</span> <span style="color: #66cc66;">(</span>i-Value<span style="color: #66cc66;">[</span>j<span style="color: #66cc66;">]</span>&gt;=<span style="color: #cc66cc;">0</span> j=<span style="color: #cc66cc;">1</span>..<span style="color: #202020;">Stamps</span><span style="color: #66cc66;">)</span><br>初始状态：F<span style="color: #66cc66;">[</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">]</span>=<span style="color: #cc66cc;">0</span>;F<span style="color: #66cc66;">[</span>i<span style="color: #66cc66;">]</span>=INFINITE;</pre>
<br><br><img src ="http://www.cppblog.com/pcfeng502/aggbug/101252.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pcfeng502/" target="_blank">ACM Fighter!</a> 2009-11-17 21:44 <a href="http://www.cppblog.com/pcfeng502/archive/2009/11/17/101252.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>poj 2159 水题</title><link>http://www.cppblog.com/pcfeng502/archive/2009/11/10/100671.html</link><dc:creator>ACM Fighter!</dc:creator><author>ACM Fighter!</author><pubDate>Tue, 10 Nov 2009 15:28:00 GMT</pubDate><guid>http://www.cppblog.com/pcfeng502/archive/2009/11/10/100671.html</guid><wfw:comment>http://www.cppblog.com/pcfeng502/comments/100671.html</wfw:comment><comments>http://www.cppblog.com/pcfeng502/archive/2009/11/10/100671.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/pcfeng502/comments/commentRss/100671.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pcfeng502/services/trackbacks/100671.html</trackback:ping><description><![CDATA[题目中Substitution method的意思是如下：<br>Substitutes for all letters must be different. For some letters substitute letter may coincide with the original letter.<br>相当于一个映射，而不能片面的理解成移位的意思。前面就是因为这个wa的&#8230;&#8230;<br><br>注意读题，不要被水题水了。<br><img src ="http://www.cppblog.com/pcfeng502/aggbug/100671.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pcfeng502/" target="_blank">ACM Fighter!</a> 2009-11-10 23:28 <a href="http://www.cppblog.com/pcfeng502/archive/2009/11/10/100671.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>getline(cin,s)</title><link>http://www.cppblog.com/pcfeng502/archive/2009/11/10/100644.html</link><dc:creator>ACM Fighter!</dc:creator><author>ACM Fighter!</author><pubDate>Tue, 10 Nov 2009 09:34:00 GMT</pubDate><guid>http://www.cppblog.com/pcfeng502/archive/2009/11/10/100644.html</guid><wfw:comment>http://www.cppblog.com/pcfeng502/comments/100644.html</wfw:comment><comments>http://www.cppblog.com/pcfeng502/archive/2009/11/10/100644.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/pcfeng502/comments/commentRss/100644.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pcfeng502/services/trackbacks/100644.html</trackback:ping><description><![CDATA[while (getline(cin,s)) {<br>&nbsp;&nbsp;&nbsp; // TO DO PROGRAM HERE<br>}<br><br><img src ="http://www.cppblog.com/pcfeng502/aggbug/100644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pcfeng502/" target="_blank">ACM Fighter!</a> 2009-11-10 17:34 <a href="http://www.cppblog.com/pcfeng502/archive/2009/11/10/100644.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Poj 1597 – Uniform Generator 数论基础题(欢迎评论)</title><link>http://www.cppblog.com/pcfeng502/archive/2009/10/21/99138.html</link><dc:creator>ACM Fighter!</dc:creator><author>ACM Fighter!</author><pubDate>Wed, 21 Oct 2009 13:33:00 GMT</pubDate><guid>http://www.cppblog.com/pcfeng502/archive/2009/10/21/99138.html</guid><wfw:comment>http://www.cppblog.com/pcfeng502/comments/99138.html</wfw:comment><comments>http://www.cppblog.com/pcfeng502/archive/2009/10/21/99138.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/pcfeng502/comments/commentRss/99138.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pcfeng502/services/trackbacks/99138.html</trackback:ping><description><![CDATA[<meta http-equiv="Content-Type" content="text/html; charset="utf-8"">
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 12">
<meta name="Originator" content="Microsoft Word 12">
<link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml">
<link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx">
<link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"><!--[if gte mso 9]><xml>
<w:worddocument>
<w:view>Normal</w:view>
<w:zoom>0</w:zoom>
<w:trackmoves/>
<w:trackformatting/>
<w:punctuationkerning/>
<w:drawinggridverticalspacing>7.8 磅</w:drawinggridverticalspacing>
<w:displayhorizontaldrawinggridevery>0</w:displayhorizontaldrawinggridevery>
<w:displayverticaldrawinggridevery>2</w:displayverticaldrawinggridevery>
<w:validateagainstschemas/>
<w:saveifxmlinvalid>false</w:saveifxmlinvalid>
<w:ignoremixedcontent>false</w:ignoremixedcontent>
<w:alwaysshowplaceholdertext>false</w:alwaysshowplaceholdertext>
<w:donotpromoteqf/>
<w:lidthemeother>EN-US</w:lidthemeother>
<w:lidthemeasian>ZH-CN</w:lidthemeasian>
<w:lidthemecomplexscript>X-NONE</w:lidthemecomplexscript>
<w:compatibility>
<w:spaceforul/>
<w:balancesinglebytedoublebytewidth/>
<w:donotleavebackslashalone/>
<w:ultrailspace/>
<w:donotexpandshiftreturn/>
<w:adjustlineheightintable/>
<w:breakwrappedtables/>
<w:snaptogridincell/>
<w:wraptextwithpunct/>
<w:useasianbreakrules/>
<w:dontgrowautofit/>
<w:splitpgbreakandparamark/>
<w:dontvertaligncellwithsp/>
<w:dontbreakconstrainedforcedtables/>
<w:dontvertalignintxbx/>
<w:word11kerningpairs/>
<w:cachedcolbalance/>
<w:usefelayout/>
</w:compatibility>
<w:browserlevel>MicrosoftInternetExplorer4</w:browserlevel>
<m:mathpr>
<m:mathfont m:val="Cambria Math"/>
<m:brkbin m:val="before"/>
<m:brkbinsub m:val="&#45;-"/>
<m:smallfrac m:val="off"/>
<m:dispdef/>
<m:lmargin m:val="0"/>
<m:rmargin m:val="0"/>
<m:defjc m:val="centerGroup"/>
<m:wrapindent m:val="1440"/>
<m:intlim m:val="subSup"/>
<m:narylim m:val="undOvr"/>
</m:mathpr></w:worddocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:latentstyles deflockedstate="false" defunhidewhenused="true"
DefSemiHidden="true" defqformat="false" defpriority="99"
LatentStyleCount="267">
<w:lsdexception locked="false" priority="0" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Normal"/>
<w:lsdexception locked="false" priority="9" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="heading 1"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"/>
<w:lsdexception locked="false" priority="39" name="toc 1"/>
<w:lsdexception locked="false" priority="39" name="toc 2"/>
<w:lsdexception locked="false" priority="39" name="toc 3"/>
<w:lsdexception locked="false" priority="39" name="toc 4"/>
<w:lsdexception locked="false" priority="39" name="toc 5"/>
<w:lsdexception locked="false" priority="39" name="toc 6"/>
<w:lsdexception locked="false" priority="39" name="toc 7"/>
<w:lsdexception locked="false" priority="39" name="toc 8"/>
<w:lsdexception locked="false" priority="39" name="toc 9"/>
<w:lsdexception locked="false" priority="35" qformat="true" name="caption"/>
<w:lsdexception locked="false" priority="10" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Title"/>
<w:lsdexception locked="false" priority="1" name="Default Paragraph Font"/>
<w:lsdexception locked="false" priority="11" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Subtitle"/>
<w:lsdexception locked="false" priority="22" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Strong"/>
<w:lsdexception locked="false" priority="20" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Emphasis"/>
<w:lsdexception locked="false" priority="59" semihidden="false"
UnhideWhenUsed="false" name="Table Grid"/>
<w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"/>
<w:lsdexception locked="false" priority="1" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="No Spacing"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading Accent 1"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List Accent 1"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid Accent 1"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1 Accent 1"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2 Accent 1"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1 Accent 1"/>
<w:lsdexception locked="false" unhidewhenused="false" name="Revision"/>
<w:lsdexception locked="false" priority="34" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="List Paragraph"/>
<w:lsdexception locked="false" priority="29" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Quote"/>
<w:lsdexception locked="false" priority="30" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Intense Quote"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2 Accent 1"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1 Accent 1"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2 Accent 1"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3 Accent 1"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List Accent 1"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading Accent 1"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List Accent 1"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid Accent 1"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading Accent 2"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List Accent 2"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid Accent 2"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1 Accent 2"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2 Accent 2"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1 Accent 2"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2 Accent 2"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1 Accent 2"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2 Accent 2"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3 Accent 2"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List Accent 2"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading Accent 2"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List Accent 2"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid Accent 2"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading Accent 3"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List Accent 3"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid Accent 3"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1 Accent 3"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2 Accent 3"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1 Accent 3"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2 Accent 3"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1 Accent 3"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2 Accent 3"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3 Accent 3"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List Accent 3"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading Accent 3"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List Accent 3"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid Accent 3"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading Accent 4"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List Accent 4"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid Accent 4"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1 Accent 4"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2 Accent 4"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1 Accent 4"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2 Accent 4"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1 Accent 4"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2 Accent 4"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3 Accent 4"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List Accent 4"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading Accent 4"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List Accent 4"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid Accent 4"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading Accent 5"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List Accent 5"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid Accent 5"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1 Accent 5"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2 Accent 5"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1 Accent 5"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2 Accent 5"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1 Accent 5"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2 Accent 5"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3 Accent 5"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List Accent 5"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading Accent 5"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List Accent 5"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid Accent 5"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading Accent 6"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List Accent 6"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid Accent 6"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1 Accent 6"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2 Accent 6"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1 Accent 6"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2 Accent 6"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1 Accent 6"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2 Accent 6"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3 Accent 6"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List Accent 6"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading Accent 6"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List Accent 6"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid Accent 6"/>
<w:lsdexception locked="false" priority="19" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Subtle Emphasis"/>
<w:lsdexception locked="false" priority="21" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Intense Emphasis"/>
<w:lsdexception locked="false" priority="31" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Subtle Reference"/>
<w:lsdexception locked="false" priority="32" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Intense Reference"/>
<w:lsdexception locked="false" priority="33" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Book Title"/>
<w:lsdexception locked="false" priority="37" name="Bibliography"/>
<w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"/>
</w:latentstyles>
</xml><![endif]--><style>
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:1;
mso-generic-font-family:roman;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-1610611985 1073750139 0 0 159 0;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:595.3pt 841.9pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:42.55pt;
mso-footer-margin:49.6pt;
mso-paper-source:0;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
-->
</style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
</style>
<![endif]-->
<p class="MsoNormal" style="text-align: center;" align="center"><span lang="EN-US">Poj 1597
&#8211; Uniform Generator</span></p>
<span lang="EN-US"><o:p></o:p></span> <br><br>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">题目的意思就是一个生成随机数的函数，</span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>Seed[x+1] = </span><span style="font-size: 12pt; font-family: 宋体;">（<span lang="EN-US"> seed[x] + STEP </span>）<span lang="EN-US"> % MOD<o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 宋体;">其中<span lang="EN-US">seed</span>就是我们生成出来的随机数，至于<span lang="EN-US">seed[0]</span>是哪个数并不重要，后面会证明。<span lang="EN-US">STEP</span>就是我们每次往前一个所加的值，再<span lang="EN-US">module</span>上<span lang="EN-US">MOD</span>得到下一个随机数。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 宋体;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 宋体;">判断这个随机生成函数的好坏的依据是如果能够产生<span lang="EN-US">0~MOD-1</span>内的所有数，就是一个好的，否则坏。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 宋体;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 宋体;">我们知道了同余的特性，便可以假设在<span lang="EN-US">k</span>步之后，生成的<span lang="EN-US">seed[k] = seed[0]</span>，所以由此有<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Seed[k] = </span><span style="font-size: 12pt; font-family: 宋体;">（<span lang="EN-US"> seed[0] + STEP*k </span>）<span lang="EN-US"> % MOD<o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: 宋体;">那么，<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>STEP * k = MOD</span><span style="font-family: 宋体;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="background: yellow none repeat scroll 0% 0%; font-family: 宋体; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">而我们如果要生产</span><span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">MOD</span><span style="background: yellow none repeat scroll 0% 0%; font-family: 宋体; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">个数，必须使</span><span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">k</span><span style="background: yellow none repeat scroll 0% 0%; font-family: 宋体; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">&#8805;</span><span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">MOD</span><span style="background: yellow none repeat scroll 0% 0%; font-family: 宋体; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">，而且</span><span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">k</span><span style="background: yellow none repeat scroll 0% 0%; font-family: 宋体; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">不可能大于</span><span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">MOD</span><span style="background: yellow none repeat scroll 0% 0%; font-family: 宋体; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">，因为这个条件下生成的数又开始重复，所以</span><span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">k=MOD</span><span style="background: yellow none repeat scroll 0% 0%; font-family: 宋体; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">；</span><span style="font-family: 宋体;">在前面的条件下，如果</span><span lang="EN-US">STEP</span><span style="font-family: 宋体;">和</span><span lang="EN-US">MOD</span><span style="font-family: 宋体;">有大于</span><span lang="EN-US">1</span><span style="font-family: 宋体;">的公约数例如</span><span lang="EN-US">d</span><span style="font-family: 宋体;">，那么会有</span><span lang="EN-US">STEP*(k/d)
= MOD</span><span style="font-family: 宋体;">，这就是一个循环了，只会产生</span><span lang="EN-US">k/d&lt;MOD</span><span style="font-family: 宋体;">个随机数。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">结论：</span><span lang="EN-US">iff gcd(STEP, MOD) == 1, good choice.</span></p><img src ="http://www.cppblog.com/pcfeng502/aggbug/99138.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pcfeng502/" target="_blank">ACM Fighter!</a> 2009-10-21 21:33 <a href="http://www.cppblog.com/pcfeng502/archive/2009/10/21/99138.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Poj 3370 Halloween treats</title><link>http://www.cppblog.com/pcfeng502/archive/2009/10/18/98902.html</link><dc:creator>ACM Fighter!</dc:creator><author>ACM Fighter!</author><pubDate>Sun, 18 Oct 2009 14:26:00 GMT</pubDate><guid>http://www.cppblog.com/pcfeng502/archive/2009/10/18/98902.html</guid><wfw:comment>http://www.cppblog.com/pcfeng502/comments/98902.html</wfw:comment><comments>http://www.cppblog.com/pcfeng502/archive/2009/10/18/98902.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/pcfeng502/comments/commentRss/98902.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pcfeng502/services/trackbacks/98902.html</trackback:ping><description><![CDATA[<meta http-equiv="Content-Type" content="text/html; charset="utf-8"">
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 12">
<meta name="Originator" content="Microsoft Word 12">
<link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml">
<link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx">
<link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"><!--[if gte mso 9]><xml>
<w:worddocument>
<w:view>Normal</w:view>
<w:zoom>0</w:zoom>
<w:trackmoves/>
<w:trackformatting/>
<w:punctuationkerning/>
<w:drawinggridverticalspacing>7.8 磅</w:drawinggridverticalspacing>
<w:displayhorizontaldrawinggridevery>0</w:displayhorizontaldrawinggridevery>
<w:displayverticaldrawinggridevery>2</w:displayverticaldrawinggridevery>
<w:validateagainstschemas/>
<w:saveifxmlinvalid>false</w:saveifxmlinvalid>
<w:ignoremixedcontent>false</w:ignoremixedcontent>
<w:alwaysshowplaceholdertext>false</w:alwaysshowplaceholdertext>
<w:donotpromoteqf/>
<w:lidthemeother>EN-US</w:lidthemeother>
<w:lidthemeasian>ZH-CN</w:lidthemeasian>
<w:lidthemecomplexscript>X-NONE</w:lidthemecomplexscript>
<w:compatibility>
<w:spaceforul/>
<w:balancesinglebytedoublebytewidth/>
<w:donotleavebackslashalone/>
<w:ultrailspace/>
<w:donotexpandshiftreturn/>
<w:adjustlineheightintable/>
<w:breakwrappedtables/>
<w:snaptogridincell/>
<w:wraptextwithpunct/>
<w:useasianbreakrules/>
<w:dontgrowautofit/>
<w:splitpgbreakandparamark/>
<w:dontvertaligncellwithsp/>
<w:dontbreakconstrainedforcedtables/>
<w:dontvertalignintxbx/>
<w:word11kerningpairs/>
<w:cachedcolbalance/>
<w:usefelayout/>
</w:compatibility>
<w:browserlevel>MicrosoftInternetExplorer4</w:browserlevel>
<m:mathpr>
<m:mathfont m:val="Cambria Math"/>
<m:brkbin m:val="before"/>
<m:brkbinsub m:val="&#45;-"/>
<m:smallfrac m:val="off"/>
<m:dispdef/>
<m:lmargin m:val="0"/>
<m:rmargin m:val="0"/>
<m:defjc m:val="centerGroup"/>
<m:wrapindent m:val="1440"/>
<m:intlim m:val="subSup"/>
<m:narylim m:val="undOvr"/>
</m:mathpr></w:worddocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:latentstyles deflockedstate="false" defunhidewhenused="true"
DefSemiHidden="true" defqformat="false" defpriority="99"
LatentStyleCount="267">
<w:lsdexception locked="false" priority="0" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Normal"/>
<w:lsdexception locked="false" priority="9" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="heading 1"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"/>
<w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"/>
<w:lsdexception locked="false" priority="39" name="toc 1"/>
<w:lsdexception locked="false" priority="39" name="toc 2"/>
<w:lsdexception locked="false" priority="39" name="toc 3"/>
<w:lsdexception locked="false" priority="39" name="toc 4"/>
<w:lsdexception locked="false" priority="39" name="toc 5"/>
<w:lsdexception locked="false" priority="39" name="toc 6"/>
<w:lsdexception locked="false" priority="39" name="toc 7"/>
<w:lsdexception locked="false" priority="39" name="toc 8"/>
<w:lsdexception locked="false" priority="39" name="toc 9"/>
<w:lsdexception locked="false" priority="35" qformat="true" name="caption"/>
<w:lsdexception locked="false" priority="10" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Title"/>
<w:lsdexception locked="false" priority="1" name="Default Paragraph Font"/>
<w:lsdexception locked="false" priority="11" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Subtitle"/>
<w:lsdexception locked="false" priority="22" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Strong"/>
<w:lsdexception locked="false" priority="20" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Emphasis"/>
<w:lsdexception locked="false" priority="59" semihidden="false"
UnhideWhenUsed="false" name="Table Grid"/>
<w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"/>
<w:lsdexception locked="false" priority="1" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="No Spacing"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading Accent 1"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List Accent 1"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid Accent 1"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1 Accent 1"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2 Accent 1"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1 Accent 1"/>
<w:lsdexception locked="false" unhidewhenused="false" name="Revision"/>
<w:lsdexception locked="false" priority="34" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="List Paragraph"/>
<w:lsdexception locked="false" priority="29" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Quote"/>
<w:lsdexception locked="false" priority="30" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Intense Quote"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2 Accent 1"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1 Accent 1"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2 Accent 1"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3 Accent 1"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List Accent 1"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading Accent 1"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List Accent 1"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid Accent 1"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading Accent 2"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List Accent 2"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid Accent 2"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1 Accent 2"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2 Accent 2"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1 Accent 2"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2 Accent 2"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1 Accent 2"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2 Accent 2"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3 Accent 2"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List Accent 2"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading Accent 2"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List Accent 2"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid Accent 2"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading Accent 3"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List Accent 3"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid Accent 3"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1 Accent 3"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2 Accent 3"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1 Accent 3"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2 Accent 3"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1 Accent 3"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2 Accent 3"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3 Accent 3"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List Accent 3"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading Accent 3"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List Accent 3"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid Accent 3"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading Accent 4"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List Accent 4"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid Accent 4"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1 Accent 4"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2 Accent 4"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1 Accent 4"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2 Accent 4"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1 Accent 4"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2 Accent 4"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3 Accent 4"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List Accent 4"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading Accent 4"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List Accent 4"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid Accent 4"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading Accent 5"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List Accent 5"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid Accent 5"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1 Accent 5"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2 Accent 5"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1 Accent 5"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2 Accent 5"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1 Accent 5"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2 Accent 5"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3 Accent 5"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List Accent 5"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading Accent 5"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List Accent 5"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid Accent 5"/>
<w:lsdexception locked="false" priority="60" semihidden="false"
UnhideWhenUsed="false" name="Light Shading Accent 6"/>
<w:lsdexception locked="false" priority="61" semihidden="false"
UnhideWhenUsed="false" name="Light List Accent 6"/>
<w:lsdexception locked="false" priority="62" semihidden="false"
UnhideWhenUsed="false" name="Light Grid Accent 6"/>
<w:lsdexception locked="false" priority="63" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 1 Accent 6"/>
<w:lsdexception locked="false" priority="64" semihidden="false"
UnhideWhenUsed="false" name="Medium Shading 2 Accent 6"/>
<w:lsdexception locked="false" priority="65" semihidden="false"
UnhideWhenUsed="false" name="Medium List 1 Accent 6"/>
<w:lsdexception locked="false" priority="66" semihidden="false"
UnhideWhenUsed="false" name="Medium List 2 Accent 6"/>
<w:lsdexception locked="false" priority="67" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 1 Accent 6"/>
<w:lsdexception locked="false" priority="68" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 2 Accent 6"/>
<w:lsdexception locked="false" priority="69" semihidden="false"
UnhideWhenUsed="false" name="Medium Grid 3 Accent 6"/>
<w:lsdexception locked="false" priority="70" semihidden="false"
UnhideWhenUsed="false" name="Dark List Accent 6"/>
<w:lsdexception locked="false" priority="71" semihidden="false"
UnhideWhenUsed="false" name="Colorful Shading Accent 6"/>
<w:lsdexception locked="false" priority="72" semihidden="false"
UnhideWhenUsed="false" name="Colorful List Accent 6"/>
<w:lsdexception locked="false" priority="73" semihidden="false"
UnhideWhenUsed="false" name="Colorful Grid Accent 6"/>
<w:lsdexception locked="false" priority="19" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Subtle Emphasis"/>
<w:lsdexception locked="false" priority="21" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Intense Emphasis"/>
<w:lsdexception locked="false" priority="31" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Subtle Reference"/>
<w:lsdexception locked="false" priority="32" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Intense Reference"/>
<w:lsdexception locked="false" priority="33" semihidden="false"
UnhideWhenUsed="false" qformat="true" name="Book Title"/>
<w:lsdexception locked="false" priority="37" name="Bibliography"/>
<w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"/>
</w:latentstyles>
</xml><![endif]--><style>
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:1;
mso-generic-font-family:roman;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-1610611985 1073750139 0 0 159 0;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:595.3pt 841.9pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:42.55pt;
mso-footer-margin:49.6pt;
mso-paper-source:0;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
-->
</style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
table.MsoTableGrid
{mso-style-name:网格型;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-priority:59;
mso-style-unhide:no;
border:solid black 1.0pt;
mso-border-themecolor:text1;
mso-border-alt:solid black .5pt;
mso-border-themecolor:text1;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-border-insideh:.5pt solid black;
mso-border-insideh-themecolor:text1;
mso-border-insidev:.5pt solid black;
mso-border-insidev-themecolor:text1;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
</style>
<![endif]-->
<p class="MsoNormal" style="text-align: center;" align="center"><span lang="EN-US">Poj 3370
Halloween treats</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">这道题在集训手册上标志是&#8220;抽屉原理&#8221;，老实说，在看到这道题的具体解法之前，我还不知道为什么是抽屉原理，这明明是判断一些数的同余嘛，后来才发现鸽笼原理的巧妙之处。</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><strong><span style="background: yellow none repeat scroll 0% 0%; font-size: 12pt; font-family: 宋体; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">4</span></strong><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> 5<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">1 2 3 7 5<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">例如对于第一组数据，</span></p>
<p class="MsoNormal"><span lang="EN-US">1 2 3 7 5</span><span style="font-family: 宋体;">模上</span><strong><span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">4</span></strong><span style="font-family: 宋体;">分别是：</span></p>
<p class="MsoNormal"><span lang="EN-US">1 2 3 3 1</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">如果采用同余</span><span lang="EN-US">+dp</span><span style="font-family: 宋体;">的方法，难度会相当大，规则比较复杂；</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">这时，我们采用一种巧妙地方法，就是用一个</span><span lang="EN-US">sum[i]</span><span style="font-family: 宋体;">数组来记录前</span><span lang="EN-US">i</span><span style="font-family: 宋体;">个数之和</span><span lang="EN-US">%<strong><span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">4</span></strong></span><span style="font-family: 宋体;">，例如上例中，我们得到：</span></p>
<table class="MsoTableGrid" style="width: 437.9pt; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0" width="584">
    <tbody>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 66.05pt;" valign="top" width="88">
            <p class="MsoNormal" style="text-align: center;" align="center"><span lang="EN-US">I</span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 71pt;" valign="top" width="95">
            <p class="MsoNormal" style="text-align: right;" align="right"><span style="background: #d9d9d9 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">0(</span><span style="background: #d9d9d9 none repeat scroll 0% 0%; font-family: 宋体; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">该列隐含</span><span style="background: #d9d9d9 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">)<o:p></o:p></span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.15pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span lang="EN-US">1</span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.15pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span lang="EN-US">2</span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.15pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span lang="EN-US">3</span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.2pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span lang="EN-US">4</span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.2pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span lang="EN-US">5</span></p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 66.05pt;" valign="top" width="88">
            <p class="MsoNormal" style="text-align: center;" align="center"><span lang="EN-US">Sweet[i]</span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 71pt;" valign="top" width="95">
            <p class="MsoNormal" style="text-align: right;" align="right"><span style="background: #d9d9d9 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">0<o:p></o:p></span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.15pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span lang="EN-US">1</span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.15pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span lang="EN-US">2</span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.15pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span lang="EN-US">3</span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.2pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span lang="EN-US">7</span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.2pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span lang="EN-US">5</span></p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 66.05pt;" valign="top" width="88">
            <p class="MsoNormal" style="text-align: center;" align="center"><span style="color: red;" lang="EN-US">Sum[i]<o:p></o:p></span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 71pt;" valign="top" width="95">
            <p class="MsoNormal" style="text-align: right;" align="right"><span style="background: #d9d9d9 none repeat scroll 0% 0%; color: red; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">0<o:p></o:p></span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.15pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span style="color: red;" lang="EN-US">1<o:p></o:p></span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.15pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span style="color: red;" lang="EN-US">3<o:p></o:p></span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.15pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span style="color: red;" lang="EN-US">2<o:p></o:p></span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.2pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span style="color: red;" lang="EN-US">1<o:p></o:p></span></p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 60.2pt;" valign="top" width="80">
            <p class="MsoNormal" style="text-align: right;" align="right"><span style="color: red;" lang="EN-US">2<o:p></o:p></span></p>
            </td>
        </tr>
    </tbody>
</table>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">由此，我们在碰到</span><span lang="EN-US">1.sum[i] == 0 </span><span style="font-family: 宋体;">或者</span><span lang="EN-US">2.sum[i]</span><span style="font-family: 宋体;">的值已经在前面出现过的情况时，就可以知道有解，并且解是从上一个出现该</span><span lang="EN-US">sum[i]</span><span style="font-family: 宋体;">数值的后一个位置开始&#8594;现在</span><span lang="EN-US">sum[i]</span><span style="font-family: 宋体;">的位置，这个貌似可以解出可能的解；但由于加和的顺序随机，所以还不清楚是否可以在该</span><span lang="EN-US">case</span><span style="font-family: 宋体;">有解的情况下一定能够解出解。这时候，我们就要用到鸽笼原理了。</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">运用《离散数学与组合数学》书中的方法，我们可以把</span><span lang="EN-US">sum[1~n=nneighbor](或0~n)</span><span style="font-family: 宋体;">看做</span><span lang="EN-US">n+1</span><span style="font-family: 宋体;">只鸽子（注意上面的隐含</span><span lang="EN-US">0</span><span style="font-family: 宋体;">列），飞入</span><span lang="EN-US">c=nchild</span><span style="font-family: 宋体;">个鸽笼中，再注意到题目中有这样的数据范围：</span></p>
<p class="MsoNormal"><u><span lang="EN-US">The first line of each test case
contains two integers <strong><em><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">c</span></em></strong> and <strong><em><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">n</span></em></strong> (<em>1 &#8804; <strong style="color: red;"><span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">c</span></strong><span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: red;"> &#8804; n</span>
&#8804; 100000</em>) （这是本题能用鸽笼原理的最重要的前提）<o:p></o:p></span></u></p>
<p class="MsoNormal"><span style="font-family: 宋体;">由此我们可以知道一定有两只鸽子是飞入同一个笼子当中的，所以加法的顺序就自然不用考虑了；而且由这个我们也可以知道，此题一定不存在无解的情况。</span></p>
代码就不贴了，数学题还是要自己想才好
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p><img src ="http://www.cppblog.com/pcfeng502/aggbug/98902.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pcfeng502/" target="_blank">ACM Fighter!</a> 2009-10-18 22:26 <a href="http://www.cppblog.com/pcfeng502/archive/2009/10/18/98902.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>poj 1442 Black box</title><link>http://www.cppblog.com/pcfeng502/archive/2009/10/05/97887.html</link><dc:creator>ACM Fighter!</dc:creator><author>ACM Fighter!</author><pubDate>Mon, 05 Oct 2009 04:31:00 GMT</pubDate><guid>http://www.cppblog.com/pcfeng502/archive/2009/10/05/97887.html</guid><wfw:comment>http://www.cppblog.com/pcfeng502/comments/97887.html</wfw:comment><comments>http://www.cppblog.com/pcfeng502/archive/2009/10/05/97887.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/pcfeng502/comments/commentRss/97887.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pcfeng502/services/trackbacks/97887.html</trackback:ping><description><![CDATA[读题读得有点累，不过最后还是看懂了。意思就是给定一组数据按顺序插入，每次在u个元素的时候<br><br>（本例中（后略）是1，2，6，6），<br>找到第i小的数，i= 1，2，3，4...，correspondly，相对应的。<br><br>开始用线性表做，TLE了，没注意到查询是线性的&#8230;&#8230;<br>后来看了参考了别人的solutions，发现了stl中的一个好东东，priority_queue<br><br>priority_queue的功能和用法可以看下 C++ STL<br><br>至于解题报告嘛，由于我也是参考别人写的代码，所以就不东施效颦了，贴一下：<br>http://www.stubc.com/thread-3511-1-2.html(这篇分析选用哪个数据结构思路比较好)<br>http://hi.baidu.com/leisimeng/blog/item/2a307e6110f394d78db10d02.html<br><br>P.S. 在代码中间加了一些注释，希望会有一些帮助。<br><br><br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">&nbsp;1</span>&nbsp;<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;"><br></span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">queue</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">#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;"><br></span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;"></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></span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;M,&nbsp;N;<br></span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;a[</span><span style="color: #000000;">30010</span><span style="color: #000000;">],&nbsp;u[</span><span style="color: #000000;">30010</span><span style="color: #000000;">];<br></span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()&nbsp;{<br></span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">#ifdef&nbsp;_DEBUG<br></span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;freopen(</span><span style="color: #000000;">"</span><span style="color: #000000;">in.txt</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">r</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;stdin);<br></span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;freopen(</span><span style="color: #000000;">"</span><span style="color: #000000;">out.txt</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">w</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;stdout);<br></span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">#endif</span><span style="color: #000000;"><br></span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i,&nbsp;j,&nbsp;value;<br></span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">&nbsp;(scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d&nbsp;%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">M,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">N)&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;EOF)&nbsp;{<br></span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;左边大根堆，右边小根堆&nbsp;<br></span><span style="color: #008080;">17</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;这样，当我们把它们看作一体时，可以保证它的有序性&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #008080;">18</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;priority_queue</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">,&nbsp;vector</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">,&nbsp;less</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;hmax;<br></span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;priority_queue</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">,&nbsp;vector</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">,&nbsp;greater</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;hmin;<br></span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</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;M;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br></span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">&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;">,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">a[i]);<br></span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;u[</span><span style="color: #000000;">0</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br></span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;N;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br></span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">&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;">,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">u[i]);<br></span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;N;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br></span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;inserting&nbsp;a+&nbsp;0&nbsp;to&nbsp;1,&nbsp;1&nbsp;to&nbsp;2,&nbsp;2&nbsp;to&nbsp;6,&nbsp;6&nbsp;to&nbsp;6&nbsp;according&nbsp;to&nbsp;i</span><span style="color: #008000;"><br></span><span style="color: #008080;">31</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(j&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;u[i</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">];&nbsp;j&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;u[i];&nbsp;j</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br></span><span style="color: #008080;">32</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hmax.push(a[j]);<br></span><span style="color: #008080;">33</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;we&nbsp;want&nbsp;to&nbsp;get&nbsp;the&nbsp;i-th&nbsp;smallest&nbsp;number,&nbsp;so&nbsp;when<br></span><span style="color: #008080;">34</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;we&nbsp;reach&nbsp;i(in&nbsp;the&nbsp;big-root&nbsp;heap),&nbsp;the&nbsp;excessive(for<br></span><span style="color: #008080;">35</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;ive(for&nbsp;now)&nbsp;must&nbsp;be&nbsp;in&nbsp;the&nbsp;small-root&nbsp;heap&nbsp;so&nbsp;that<br></span><span style="color: #008080;">36</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;we could sort it and might use&nbsp;it&nbsp;later<br></span><span style="color: #008080;">37</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">38</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(hmax.size()&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;i</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">)&nbsp;{<br></span><span style="color: #008080;">39</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;hmax.top();<br></span><span style="color: #008080;">40</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hmax.pop();<br></span><span style="color: #008080;">41</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hmin.push(value);<br></span><span style="color: #008080;">42</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">43</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">44</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;after&nbsp;the&nbsp;loop,&nbsp;the&nbsp;answer&nbsp;is&nbsp;the&nbsp;root&nbsp;of&nbsp;the&nbsp;small-r&nbsp;heap</span><span style="color: #008000;"><br></span><span style="color: #008080;">45</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;hmin.top();<br></span><span style="color: #008080;">46</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hmin.pop();<br></span><span style="color: #008080;">47</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hmax.push(value);<br></span><span style="color: #008080;">48</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&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;">,&nbsp;hmax.top());<br></span><span style="color: #008080;">49</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">50</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">51</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">52</span>&nbsp;<span style="color: #000000;"></span></div>
<br><img src ="http://www.cppblog.com/pcfeng502/aggbug/97887.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pcfeng502/" target="_blank">ACM Fighter!</a> 2009-10-05 12:31 <a href="http://www.cppblog.com/pcfeng502/archive/2009/10/05/97887.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>求2的n次方的首数字</title><link>http://www.cppblog.com/pcfeng502/archive/2009/09/20/96809.html</link><dc:creator>ACM Fighter!</dc:creator><author>ACM Fighter!</author><pubDate>Sun, 20 Sep 2009 15:46:00 GMT</pubDate><guid>http://www.cppblog.com/pcfeng502/archive/2009/09/20/96809.html</guid><wfw:comment>http://www.cppblog.com/pcfeng502/comments/96809.html</wfw:comment><comments>http://www.cppblog.com/pcfeng502/archive/2009/09/20/96809.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/pcfeng502/comments/commentRss/96809.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pcfeng502/services/trackbacks/96809.html</trackback:ping><description><![CDATA[设2^n为x, 设x为10^y次方级的数（用科学计数法表示的后缀），要求的首位为f<br><br>那么<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lg(x/10^y) = lg(f)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lg是底为10的对数<br>上式可以变为&nbsp; lg(x) - y = lg(f) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ==&gt;&nbsp; <span style="font-weight: bold;">n*lg(2)</span> - <span style="font-style: italic;">y</span> = lg(f)<br><br>现在，只用求y即可，<br>其实， <span style="background-color: yellow;">(int)</span> y = lg(x) = lg(2^n) = <span style="font-style: italic;">n*lg(2)</span>, <br>看起来不是跟上一个相等吗？但是注意y展开后是<span style="background-color: yellow;">100000...的形式</span>，所以我们在求出了它的对数之后，只取它的整数部分即可，即y是int型，所以&#8230;&#8230;后面的不用推了，把f外面的对数符号拿过去就是了。<br><br>最后得到：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f = 10^(n*lg(2)- (int)(n*lg(2)))<br><br>同样的，如果要求3、4、5...的n次方，只需要把2改为它们即可<br><br><br>P.S. 不过此算法在算2的3次方时会有误差，还不清楚为什么？（准确地说，在幂n小的时候都有误差）想请教一下各位大牛，谢谢啦~<br><br>#include &lt;iostream&gt;<br>#include &lt;cmath&gt;<br><br>using namespace std;<br><br>int main() {<br>&nbsp;&nbsp;&nbsp; int n;<br>&nbsp;&nbsp;&nbsp; while (scanf("%d", &amp;n) &amp;&amp; n!=-1) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; int y = (int) (n * log10(2.0));<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; double t = n * log10(2.0);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; int ans = (int) (pow(10.0, t-(double)y) + 1e-8);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //n == 2 答案有误差，在加上1e-8后，误差消除<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; printf("%d\n", ans);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; return 0;<br>}<br><br><br><br> <img src ="http://www.cppblog.com/pcfeng502/aggbug/96809.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pcfeng502/" target="_blank">ACM Fighter!</a> 2009-09-20 23:46 <a href="http://www.cppblog.com/pcfeng502/archive/2009/09/20/96809.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>