﻿<?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++博客-Yuan-随笔分类-学习总结</title><link>http://www.cppblog.com/Yuan/category/13292.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 11 Mar 2011 16:31:04 GMT</lastBuildDate><pubDate>Fri, 11 Mar 2011 16:31:04 GMT</pubDate><ttl>60</ttl><item><title>双向BFS</title><link>http://www.cppblog.com/Yuan/archive/2011/02/23/140553.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Wed, 23 Feb 2011 14:20:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2011/02/23/140553.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/140553.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2011/02/23/140553.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/140553.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/140553.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;如果目标也已知的话，用双向BFS能很大提高速度单向时，是 b^len的扩展。双向的话，2*b^(len/2) &nbsp;快了很多，特别是分支因子b较大时至于实现上，网上有些做法是用两个队列，交替节点搜索&nbsp;&#215;，如下面的伪代码：&nbsp;&nbsp; &nbsp;while(!empty()){&nbsp;&nbsp;&nbsp;&nbsp;&n...&nbsp;&nbsp;<a href='http://www.cppblog.com/Yuan/archive/2011/02/23/140553.html'>阅读全文</a><img src ="http://www.cppblog.com/Yuan/aggbug/140553.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2011-02-23 22:20 <a href="http://www.cppblog.com/Yuan/archive/2011/02/23/140553.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几道数位统计 用记忆化搜索写 很方便</title><link>http://www.cppblog.com/Yuan/archive/2011/01/25/139299.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Tue, 25 Jan 2011 14:52:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2011/01/25/139299.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/139299.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2011/01/25/139299.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/139299.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/139299.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;之前做数位统计时，一般是先初始化，然后再逐位统计。&nbsp;&nbsp;&nbsp;前几天在codeforces遇到一种用记忆化搜索写的数位统计，挺神奇的。用它改写之前写过的几道数位统计，发现代码更短，速度也更快，有一定通用性.&nbsp;&nbsp;&nbsp;这种写法一般用于初始化跟逐位统计是一样过程的。&nbsp;&nbsp;&nbsp;&nbsp;&n...&nbsp;&nbsp;<a href='http://www.cppblog.com/Yuan/archive/2011/01/25/139299.html'>阅读全文</a><img src ="http://www.cppblog.com/Yuan/aggbug/139299.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2011-01-25 22:52 <a href="http://www.cppblog.com/Yuan/archive/2011/01/25/139299.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2-SAT 小结</title><link>http://www.cppblog.com/Yuan/archive/2010/08/04/122209.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Wed, 04 Aug 2010 07:10:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/08/04/122209.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/122209.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/08/04/122209.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/122209.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/122209.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;2 &#8211; SAT2 &#8211; SAT 就是2判定性问题，是一种特殊的逻辑判定问题。例，n对东西，每对只能选一个（i0或i1），不能不选。即：A or _A = 1 , A xor _A = 1还存在一些约束关系(i0,j0)，表示i0不能跟j0一起选。那需连边i0-&gt; j1 如果选i0的话必须选j1j0-&gt; i1如果选j0的话必须选i...&nbsp;&nbsp;<a href='http://www.cppblog.com/Yuan/archive/2010/08/04/122209.html'>阅读全文</a><img src ="http://www.cppblog.com/Yuan/aggbug/122209.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-08-04 15:10 <a href="http://www.cppblog.com/Yuan/archive/2010/08/04/122209.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>连通性总结</title><link>http://www.cppblog.com/Yuan/archive/2010/08/01/121847.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Sun, 01 Aug 2010 02:31:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/08/01/121847.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/121847.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/08/01/121847.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/121847.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/121847.html</trackback:ping><description><![CDATA[<br>打算总结一下连通性。。。^_^<br><br>看了这里http://www.byvoid.com/blog/biconnect/&nbsp;&nbsp; 发现双连通分<strong>点双连通</strong> 、<strong>边双连通</strong> 。<br>之前做的双连通缩点就把割桥提取出来而已（边双连通），不过这样子做也是对的，如果有割点，把割点也当成一个双连通分量而已了（如 hdu 2242 ）&nbsp;&nbsp; 而且有割点必定有割桥。<br>但是题目要求点双连通的话，就不行了！ 因为割点可以同时属于几个双连通分量。<br><br>双连通子图是极大双连通子图&nbsp;&nbsp; 又称为块（没有割点的无向图）<br>团是指一个完全子图（两两都有边）<br>
<img src ="http://www.cppblog.com/Yuan/aggbug/121847.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-08-01 10:31 <a href="http://www.cppblog.com/Yuan/archive/2010/08/01/121847.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数位类统计 水水小结一下</title><link>http://www.cppblog.com/Yuan/archive/2010/07/28/121453.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Wed, 28 Jul 2010 05:20:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/07/28/121453.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/121453.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/07/28/121453.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/121453.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/121453.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 今天FangGG讲了数位类统计的。感觉记住那个图就行了。O((logn)^2)的初始化，O(logn)的查询&nbsp;&nbsp;感觉是利用了相同规模的树完全相同，避免重复计算，用f[i][j]记录下来。f[i][j]表示一棵高度为i的完全二叉树内二进制表示中恰好含有j个1的数的个数。不包括根的。感觉那个根是虚设的叶子的i为0....所以那个i就是二进制下的第i位（从0开始）&nbsp;...&nbsp;&nbsp;<a href='http://www.cppblog.com/Yuan/archive/2010/07/28/121453.html'>阅读全文</a><img src ="http://www.cppblog.com/Yuan/aggbug/121453.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-07-28 13:20 <a href="http://www.cppblog.com/Yuan/archive/2010/07/28/121453.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>树形DP</title><link>http://www.cppblog.com/Yuan/archive/2010/04/27/113677.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Tue, 27 Apr 2010 01:30:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/04/27/113677.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/113677.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/04/27/113677.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/113677.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/113677.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;参考：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.cppblog.com/notonlysuccess/archive/2009/05/12/82614.html">http://www.cppblog.com/notonlysuccess/archive/2009/05/12/82614.html</a>
<img src ="http://www.cppblog.com/Yuan/aggbug/113677.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-04-27 09:30 <a href="http://www.cppblog.com/Yuan/archive/2010/04/27/113677.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>精度处理</title><link>http://www.cppblog.com/Yuan/archive/2010/04/19/112973.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Mon, 19 Apr 2010 04:10:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/04/19/112973.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/112973.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/04/19/112973.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/112973.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/112973.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqrt(x)&nbsp; =&gt;&nbsp; sqrt(x+esp)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ural 1600就是这个地方了，不然wa死了。。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&lt;b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&gt;&nbsp;&nbsp; a+esp&lt; b<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&lt;=b&nbsp;&nbsp;&nbsp; =&gt;&nbsp;&nbsp; a-esp&lt;b<br>&nbsp;
<img src ="http://www.cppblog.com/Yuan/aggbug/112973.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-04-19 12:10 <a href="http://www.cppblog.com/Yuan/archive/2010/04/19/112973.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>位运算  状态压缩DP</title><link>http://www.cppblog.com/Yuan/archive/2010/04/18/112942.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Sun, 18 Apr 2010 15:33:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/04/18/112942.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/112942.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/04/18/112942.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/112942.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/112942.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;poj 1753 不算状态DP吧，但是数据规模小，打个表记录所有状态的变化<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="BACKGROUND-COLOR: yellow">翻转即用异或操作</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;整个棋盘就记录16位。。注意移位<br>&nbsp;
<img src ="http://www.cppblog.com/Yuan/aggbug/112942.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-04-18 23:33 <a href="http://www.cppblog.com/Yuan/archive/2010/04/18/112942.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>分数规划</title><link>http://www.cppblog.com/Yuan/archive/2010/04/15/112719.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Thu, 15 Apr 2010 14:44:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/04/15/112719.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/112719.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/04/15/112719.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/112719.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/112719.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;就是求 ∑ai/∑bi 的最值，i&#8712;某个集合<br>&nbsp;&nbsp;&nbsp;可以令 x逼近它，如求最小值，有∑ai/∑bi&nbsp;&lt;= x<br>&nbsp;&nbsp;&nbsp;转为为：∑ai-x∑bi&nbsp; &lt;=0&nbsp; 即&nbsp; ∑(ai-x*bi&nbsp;)&lt;=0&nbsp; ，这种求和操作因题而已，<br>&nbsp;&nbsp;&nbsp;像poj2728是MST，poj 3621&nbsp; 就是判断是否有∑(ai-x*bi&nbsp;)&lt;=0&nbsp;，也即判断是否存在负环，用spfa<br>&nbsp;&nbsp;&nbsp;上面的式子有单调性，可用二分解决，一般high不会太高的，精度太小的话会调用多次chk函数，变慢&nbsp;&nbsp;&nbsp; 其实二分20多次就已经足够了<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br><br>&nbsp;&nbsp;&nbsp;poj 2728&nbsp; 最优比率生成树<br>&nbsp;&nbsp;&nbsp;poj 3621 用spfa判断负环
<img src ="http://www.cppblog.com/Yuan/aggbug/112719.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-04-15 22:44 <a href="http://www.cppblog.com/Yuan/archive/2010/04/15/112719.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>贪心</title><link>http://www.cppblog.com/Yuan/archive/2010/04/15/112634.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Thu, 15 Apr 2010 02:33:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/04/15/112634.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/112634.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/04/15/112634.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/112634.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/112634.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;1.贪差别最大的 hdu3177<br>&nbsp;&nbsp;&nbsp;
<img src ="http://www.cppblog.com/Yuan/aggbug/112634.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-04-15 10:33 <a href="http://www.cppblog.com/Yuan/archive/2010/04/15/112634.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一些数学</title><link>http://www.cppblog.com/Yuan/archive/2010/04/15/112633.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Thu, 15 Apr 2010 02:30:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/04/15/112633.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/112633.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/04/15/112633.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/112633.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/112633.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;1.有标号无根树计数<br>&nbsp;&nbsp;&nbsp;与Prufer Code一一对应（每次去标号最小的叶子节点，将其父亲添加到序列，在删除这个叶子，直到只有两个点，所以n&gt;=2，1特判）<br>&nbsp;&nbsp;&nbsp;<span style="BACKGROUND-COLOR: yellow">g(i,j)表示j种字符生成长为i的字符串的方案数<br></span>&nbsp;&nbsp;&nbsp;g(i,j) =&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=0且j=0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=0或j=0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="BACKGROUND-COLOR: yellow">&nbsp;&nbsp;g(i-1,j)*j+g(i-1,j-1)*j<br></span>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;2.具体数学的Eulerian Numbers<br>&nbsp;&nbsp;&nbsp;对于长度为n的排列，问'&lt;'个数为k的方案数<br>&nbsp; &nbsp;递推，<span style="BACKGROUND-COLOR: yellow">从扩大规模去做，也即插入到哪里<br></span>&nbsp; &nbsp;dp[n][m]=dp[n-1][k]*(k+1)+dp[n-1][k-1]*(n-k)<br>&nbsp;&nbsp; 插入到原来的'&lt;'处，'&lt;'个数不变，位置有k+1种<br>&nbsp;&nbsp; 插入到原来的'&gt;'处，则新增加1个'&lt;'，位置有n-2-(k-1)+1=n-k种
<img src ="http://www.cppblog.com/Yuan/aggbug/112633.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-04-15 10:30 <a href="http://www.cppblog.com/Yuan/archive/2010/04/15/112633.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>多进程dp</title><link>http://www.cppblog.com/Yuan/archive/2010/04/08/111936.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Thu, 08 Apr 2010 03:37:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/04/08/111936.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/111936.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/04/08/111936.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/111936.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/111936.html</trackback:ping><description><![CDATA[




<span class="Apple-tab-span" style="white-space:pre">	</span>双调tsp<div><div><img src="http://static1.photo.sina.com.cn/bmiddle/51cea404x7a562c1890e0&amp;690" alt="【动态规划】双调欧几里得旅行商问题"></div><div><a href="http://blog.sina.com.cn/s/blog_51cea4040100gkcq.html">http://blog.sina.com.cn/s/blog_51cea4040100gkcq.html</a></div><div>/*<span class="Apple-tab-span" style="white-space:pre">	</span></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>dp[i][j],，表示从i连到0，再从0连到j，（注意，i&gt;j，且并没有相连。）</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>有两种连接方法，i与i-1相连；i与i-1不相连。</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>&nbsp;dp[i][j]=dp[i-1][j]+d[i][i-1];</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>dp[i][i-1]=min(dp[i-1][j]+d[j][i]);</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>*/</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>dp[0][0]=0;dp[1][0]=d[1][0];</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>for(int i=2;i&lt;=n;i++){</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>dp[i][i-1]=DMAX;</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>for(int j=0;j&lt;i-1;j++){</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>dp[i][j]=dp[i-1][j]+d[i][i-1];</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>dp[i][i-1]=min(dp[i][i-1],dp[i-1][j]+d[j][i]);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>hdu 3322 poj 2677</div><div><br></div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>poj 2964</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>dp[i][j][k]表示走了i步，第一个人横着走了j步，第二个人横着走了k步,容易确定竖着走了多少步，这道题可以重复走，所以枚举时就不需要j&lt;k，而相同地方算一次</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>则dp[i][j][k]=max(dp[i-1][j][k],dp[i-1][j-1][k],dp[i-1][j][k-1],dp[i-1][j-1][k-1])</div><div><br></div><div><br></div><div><a href="http://hi.baidu.com/%D2%BB%CE%BB%C1%E3/blog/item/46823008c16c40c73ac76372.html">http://hi.baidu.com/%D2%BB%CE%BB%C1%E3/blog/item/46823008c16c40c73ac76372.html</a></div><div>hdu 3376</div></div><img src ="http://www.cppblog.com/Yuan/aggbug/111936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-04-08 11:37 <a href="http://www.cppblog.com/Yuan/archive/2010/04/08/111936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>trie图 与 状态图</title><link>http://www.cppblog.com/Yuan/archive/2010/04/04/111625.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Sun, 04 Apr 2010 15:54:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/04/04/111625.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/111625.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/04/04/111625.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/111625.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/111625.html</trackback:ping><description><![CDATA[
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;poj 2778<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 感觉trie图的构造跟状态图是天然的结合，它将剩余的指针指向正确的状态，然后就构造出一个关系图来了，<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于这个关系图，有些点标记为非法点，有些点不是，像这道题，求只经过合法点的路径条数，在原来关系图的基础上，重新建图，非法点不连边即可，就可以矩阵乘法求出了<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br><br>&nbsp;&nbsp;&nbsp;3691<br>
<p>这题实在经典，决定记下来留个纪念。</p>
<p>自动机：时间是离散的（t=0，1，2&#8230;&#8230;），在每一个时刻它处于所存在的有限个内部状态中的一个。对每一个时刻给予有限个输入中的一个。那么下一个时刻的内部状态就由现在的输入和现在的内部状态所决定。每个时刻的输出只由那个时刻的内部状态所决定。</p>
<p>可以看出自动机具有明显的阶段划分和无后效性，所以和动态规划有着紧密的联系。</p>
<p>就拿这题来说，AC自动机的内部状态由指向trie图的某节点的指针决定，那么本题的所有状态可由dp[i][j]（dp[i][j]表示在AC自动机的指针指向标号为j的节点时，保证前i个字符不存在匹配的最少替换次数）决定。设计出了状态，剩下就简单了。如果第i个字符s[i]为c，那么j的下个状态k就可根据c和j算出来，这样就完成了dp[i][j]到dp[i+1][k]的状态转换。再经过层层递推后就可把答案算出来了。</p><p><br></p><p><br></p><p>hnu&nbsp;10104</p><p>尽心dfs,其实只要找到一个环，就说明有无限长的了</p><img src ="http://www.cppblog.com/Yuan/aggbug/111625.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-04-04 23:54 <a href="http://www.cppblog.com/Yuan/archive/2010/04/04/111625.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数论。。</title><link>http://www.cppblog.com/Yuan/archive/2010/04/02/111471.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Fri, 02 Apr 2010 15:03:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/04/02/111471.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/111471.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/04/02/111471.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/111471.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/111471.html</trackback:ping><description><![CDATA[

&nbsp;&nbsp; &nbsp; &nbsp;<div>一个数的因子之和为</div><div><div><span class="Apple-tab-span" style="white-space:pre">	</span> &nbsp;(1+p1+p1^2+...p1^x1)*(1+p2+...)...</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>=&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">	</span> &nbsp;(p1^(x1+1)-1)*(p2^(x2+1)-1)...</div><div><span class="Apple-tab-span" style="white-space:pre">	</span> &nbsp;--------------------------</div><div><span class="Apple-tab-span" style="white-space:pre">	</span> &nbsp;(p1-1)*(p2-1)...</div><div><br></div><div>a/b%m = a%(b*m)/b</div><div>hdu 1452 &nbsp;&nbsp;</div><div><br></div><div><div>若(m,k)=1则 (m,nm+k)=1，因为(nm+k)%m=k%m ，考虑下gcd函数的写法就知道</div><div>poj 2773 &nbsp;所以与m互素的第k个数也即 (k-1)/p(m)*m+pri[(k-1)%p(m)] p(m)为欧拉函数，pri[]为m内与m互素的数</div></div></div><img src ="http://www.cppblog.com/Yuan/aggbug/111471.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-04-02 23:03 <a href="http://www.cppblog.com/Yuan/archive/2010/04/02/111471.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dp 模型</title><link>http://www.cppblog.com/Yuan/archive/2010/03/30/111072.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Tue, 30 Mar 2010 15:38:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/03/30/111072.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/111072.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/03/30/111072.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/111072.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/111072.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.有左右两种选择，状态就是在这两条线转来转去&nbsp;&nbsp; poj 2385 2626&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.电路板排线那样，<span style="BACKGROUND-COLOR: yellow">不会交叉</span>
<img src ="http://www.cppblog.com/Yuan/aggbug/111072.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-03-30 23:38 <a href="http://www.cppblog.com/Yuan/archive/2010/03/30/111072.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>线段树 离散化</title><link>http://www.cppblog.com/Yuan/archive/2010/03/30/111045.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Tue, 30 Mar 2010 12:11:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/03/30/111045.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/111045.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/03/30/111045.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/111045.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/111045.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;poj&nbsp; 3109<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注意线段树插入时是整个路径都要tot+x，而find时，如果 if(l&lt;=left&amp;&amp;right&lt;=r)return tot&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lazy定理，虽然说要对整个线段都更新，<span style="BACKGROUND-COLOR: yellow">用在整段更新的 </span>到l&lt;=left&amp;&amp;right&lt;=r即可，也即上面的都更新，但是后面的等到要查询时再更新，即
<div><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(inc[p]){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inc[2*p]+=inc[p];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inc[2*p+1]+=inc[p];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inc[p]=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;poj 3468&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;开这样吧，&nbsp;MAXN*4，3倍会RE？
<div><span style="WHITE-SPACE: pre" class=Apple-tab-span></span>if(l&lt;=left&amp;&amp;right&lt;=r)就return 否则递归到底层，线段树不起作用了</div>
<div>3667 &nbsp;左连续的最大值，最大值，右连续的最大值</div>
<div>poj 3368 三个数据的应用很广泛。。lmax,rmax,max<br><br><br><br>线段树的最重要特点就是把有共同点的零散信息整合到一起 。就是说，线段数是把各个节点共同所需记录的信息，记录在它们的父亲节点上。这样，它就省去不断重复操作而造成的冗杂。从而，大大优于普通数组操作。<br><br></div>
</div>
<img src ="http://www.cppblog.com/Yuan/aggbug/111045.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-03-30 20:11 <a href="http://www.cppblog.com/Yuan/archive/2010/03/30/111045.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>二分图最大匹配  km</title><link>http://www.cppblog.com/Yuan/archive/2010/03/30/110987.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Tue, 30 Mar 2010 06:01:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/03/30/110987.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/110987.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/03/30/110987.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/110987.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/110987.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;涉及到 最大匹配，最大独立集，最小路径覆盖（加权），<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;方格攻击问题用块构图
<img src ="http://www.cppblog.com/Yuan/aggbug/110987.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-03-30 14:01 <a href="http://www.cppblog.com/Yuan/archive/2010/03/30/110987.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>优先队列 bfs</title><link>http://www.cppblog.com/Yuan/archive/2010/03/29/110914.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Mon, 29 Mar 2010 13:39:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/03/29/110914.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/110914.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/03/29/110914.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/110914.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/110914.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;像一些比较复杂操作的bfs,可以加优先级队列做<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;记住：出队的元素，如果还没visit过，就是最优的，这时标记为已经visit<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;poj 3593 1724&nbsp; 3635（推荐）&nbsp; 2312
<img src ="http://www.cppblog.com/Yuan/aggbug/110914.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-03-29 21:39 <a href="http://www.cppblog.com/Yuan/archive/2010/03/29/110914.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>约瑟夫环问题</title><link>http://www.cppblog.com/Yuan/archive/2010/03/27/110690.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Sat, 27 Mar 2010 12:55:00 GMT</pubDate><guid>http://www.cppblog.com/Yuan/archive/2010/03/27/110690.html</guid><wfw:comment>http://www.cppblog.com/Yuan/comments/110690.html</wfw:comment><comments>http://www.cppblog.com/Yuan/archive/2010/03/27/110690.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Yuan/comments/commentRss/110690.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Yuan/services/trackbacks/110690.html</trackback:ping><description><![CDATA[<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;O(n)的数学解法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设对编号为0,1,...,n-1的人中第K个去掉，对于规模为n的，显然第一次去掉的是编号为K-1，<span style="BACKGROUND-COLOR: yellow">这样去掉一个人后就变为规模为n-1的问题了</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;所以如果知道f[n-1]的结果，就能推出f[n]的结果了。观察：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f(n)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f(n-1)&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;---&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n-K<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;---&gt;&nbsp;&nbsp;&nbsp;&nbsp; n-K+1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;---&gt;&nbsp;&nbsp;&nbsp;&nbsp; n-K+2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;K-2&nbsp;&nbsp;---&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n-2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;K-1&nbsp;&nbsp;---&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n-1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;---&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; K+1&nbsp;---&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;. <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n-1&nbsp;&nbsp;&nbsp;---&gt;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;n-K-1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;可以看出，f(n) = (f(n-1)+K)%n<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所以得通项公式&nbsp;&nbsp; f(0)=0;<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f(n)=(f(n-1)+K)%n<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如poj&nbsp;&nbsp; 1012&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2359<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;O(logn)的解法，具体数学的<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<img src ="http://www.cppblog.com/Yuan/aggbug/110690.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Yuan/" target="_blank">_Yuan</a> 2010-03-27 20:55 <a href="http://www.cppblog.com/Yuan/archive/2010/03/27/110690.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>