﻿<?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++博客-I want to be CRAZY!!!-随笔分类-数学</title><link>http://www.cppblog.com/phonism/category/19747.html</link><description>本来无望的事，大胆尝试，往往能成功。</description><language>zh-cn</language><lastBuildDate>Sun, 23 Sep 2012 16:26:04 GMT</lastBuildDate><pubDate>Sun, 23 Sep 2012 16:26:04 GMT</pubDate><ttl>60</ttl><item><title>几道GCD相关题目总结</title><link>http://www.cppblog.com/phonism/archive/2012/09/23/191725.html</link><dc:creator>phonism</dc:creator><author>phonism</author><pubDate>Sun, 23 Sep 2012 10:19:00 GMT</pubDate><guid>http://www.cppblog.com/phonism/archive/2012/09/23/191725.html</guid><wfw:comment>http://www.cppblog.com/phonism/comments/191725.html</wfw:comment><comments>http://www.cppblog.com/phonism/archive/2012/09/23/191725.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/phonism/comments/commentRss/191725.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/phonism/services/trackbacks/191725.html</trackback:ping><description><![CDATA[修改自：<a href="http://hi.baidu.com/arorua_/item/381bb88d817b122d100ef3a1">http://hi.baidu.com/arorua_/item/381bb88d817b122d100ef3a1</a><br />Number one：poj2480&nbsp;<a href="http://poj.org/problem?id=2480">http://poj.org/problem?id=2480</a><br />题意是：求<span style="font-family: 'Times New Roman', Times, serif; font-size: 16px; line-height: normal; ">&#8721;gcd(i, N) 1&lt;=i &lt;=N.&nbsp;</span><span style="font-family: 'Times New Roman', Times, serif; font-size: 16px; line-height: normal; ">&nbsp;N(1 &lt; N &lt; 2^31)<br /></span>解法：<span style="font-family: 'Times New Roman', Times, serif; font-size: 16px; line-height: normal; ">&#8721;</span>gcd(i, n) ==&nbsp;<span style="font-family: 'Times New Roman', Times, serif; font-size: 16px; line-height: normal; ">&#8721;(f</span>ac[i] * phi(n / fac[i])) (fac存的是n的所有约数)<br />代码：<br /><div style="font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><img id="Code_Closed_Image_181821" onclick="this.style.display='none'; Code_Closed_Text_181821.style.display='none'; Code_Open_Image_181821.style.display='inline'; Code_Open_Text_181821.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"><img id="Code_Open_Image_181821" style="display: none" onclick="this.style.display='none'; Code_Open_Text_181821.style.display='none'; Code_Closed_Image_181821.style.display='inline'; Code_Closed_Text_181821.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"><span id="Code_Closed_Text_181821" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">poj2480</span><span id="Code_Open_Text_181821" style="display: none"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">sigma(gcd(i,&nbsp;n))&nbsp;==&nbsp;sigma(fac[i]&nbsp;*&nbsp;phi(n&nbsp;/&nbsp;fac[i]))</span><span style="color: #008000; "><br /></span><br />#include&nbsp;&lt;cstdio&gt;<br />#include&nbsp;&lt;cstring&gt;<br /><span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><br /><span style="color: #0000FF; ">long</span>&nbsp;<span style="color: #0000FF; ">long</span>&nbsp;n,&nbsp;ans;<br /><span style="color: #0000FF; ">int</span>&nbsp;fac[32000],&nbsp;cnt;<br /><br /><span style="color: #008000; ">//</span><span style="color: #008000; ">get&nbsp;eular</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">long</span>&nbsp;<span style="color: #0000FF; ">long</span>&nbsp;get_eular(<span style="color: #0000FF; ">long</span>&nbsp;<span style="color: #0000FF; ">long</span>&nbsp;n)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">long</span>&nbsp;<span style="color: #0000FF; ">long</span>&nbsp;res&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">long</span>&nbsp;<span style="color: #0000FF; ">long</span>&nbsp;i&nbsp;=&nbsp;2;&nbsp;i&nbsp;*&nbsp;i&nbsp;&lt;=&nbsp;n;&nbsp;i++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(n&nbsp;%&nbsp;i&nbsp;==&nbsp;0)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;/=&nbsp;i;&nbsp;res&nbsp;=&nbsp;res&nbsp;*&nbsp;(i&nbsp;-&nbsp;1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;(n&nbsp;%&nbsp;i&nbsp;==&nbsp;0)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;/=&nbsp;i;&nbsp;res&nbsp;=&nbsp;res&nbsp;*&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(n&nbsp;&gt;&nbsp;1)&nbsp;res&nbsp;*=&nbsp;n&nbsp;-&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;res;<br />}<br /><br /><span style="color: #0000FF; ">void</span>&nbsp;get_factor(<span style="color: #0000FF; ">long</span>&nbsp;<span style="color: #0000FF; ">long</span>&nbsp;n)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;memset(fac,&nbsp;0,&nbsp;<span style="color: #0000FF; ">sizeof</span>(fac));<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;1;&nbsp;(<span style="color: #0000FF; ">long</span>&nbsp;<span style="color: #0000FF; ">long</span>)i&nbsp;*&nbsp;i&nbsp;&lt;=&nbsp;n;&nbsp;i++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(n&nbsp;%&nbsp;i&nbsp;==&nbsp;0)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(i&nbsp;*&nbsp;i&nbsp;==&nbsp;n)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fac[cnt++]&nbsp;=&nbsp;i;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;;<br />&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;fac[cnt++]&nbsp;=&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fac[cnt++]&nbsp;=&nbsp;n&nbsp;/&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><span style="color: #0000FF; ">int</span>&nbsp;main()&nbsp;{<br />#ifndef&nbsp;ONLINE_JUDGE<br />&nbsp;&nbsp;&nbsp;&nbsp;freopen("p2480",&nbsp;"r",&nbsp;stdin);<br /><span style="color: #0000FF; ">#endif</span><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;(scanf("%lld",&nbsp;&amp;n)&nbsp;!=&nbsp;EOF)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get_factor(n);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;cnt;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;+=&nbsp;fac[i]&nbsp;*&nbsp;(get_eular(n&nbsp;/&nbsp;fac[i]));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%lld\n",&nbsp;ans);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />}<br /></span></div><br /><br /><br /><img src ="http://www.cppblog.com/phonism/aggbug/191725.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/phonism/" target="_blank">phonism</a> 2012-09-23 18:19 <a href="http://www.cppblog.com/phonism/archive/2012/09/23/191725.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DP求期望入门</title><link>http://www.cppblog.com/phonism/archive/2012/09/18/191146.html</link><dc:creator>phonism</dc:creator><author>phonism</author><pubDate>Tue, 18 Sep 2012 12:07:00 GMT</pubDate><guid>http://www.cppblog.com/phonism/archive/2012/09/18/191146.html</guid><wfw:comment>http://www.cppblog.com/phonism/comments/191146.html</wfw:comment><comments>http://www.cppblog.com/phonism/archive/2012/09/18/191146.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/phonism/comments/commentRss/191146.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/phonism/services/trackbacks/191146.html</trackback:ping><description><![CDATA[&lt;题意题解等等再补^_^&gt;<br />求概率：<a href="http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;page=show_problem&amp;problem=3874" target="_blank"><br />uvalive5863</a>&nbsp;<a href="http://acm.hdu.edu.cn/showproblem.php?pid=4089" target="_blank">hdu4089</a><br />求期望：<br /><a href="http://poj.org/problem?id=2096" target="_blank">poj2096</a>&nbsp;<a href="http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3329" target="_blank">zoj3329</a>&nbsp;<a href="http://acm.hdu.edu.cn/showproblem.php?pid=4035" target="_blank">hdu4035</a><img src ="http://www.cppblog.com/phonism/aggbug/191146.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/phonism/" target="_blank">phonism</a> 2012-09-18 20:07 <a href="http://www.cppblog.com/phonism/archive/2012/09/18/191146.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>筛素数和欧拉函数的模板</title><link>http://www.cppblog.com/phonism/archive/2012/09/17/190996.html</link><dc:creator>phonism</dc:creator><author>phonism</author><pubDate>Mon, 17 Sep 2012 10:23:00 GMT</pubDate><guid>http://www.cppblog.com/phonism/archive/2012/09/17/190996.html</guid><wfw:comment>http://www.cppblog.com/phonism/comments/190996.html</wfw:comment><comments>http://www.cppblog.com/phonism/archive/2012/09/17/190996.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/phonism/comments/commentRss/190996.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/phonism/services/trackbacks/190996.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><img id="Code_Closed_Image_182450" onclick="this.style.display='none'; Code_Closed_Text_182450.style.display='none'; Code_Open_Image_182450.style.display='inline'; Code_Open_Text_182450.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"><img id="Code_Open_Image_182450" style="display: none" onclick="this.style.display='none'; Code_Open_Text_182450.style.display='none'; Code_Closed_Image_182450.style.display='inline'; Code_Closed_Text_182450.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"><span id="Code_Closed_Text_182450" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">筛素数和欧拉函数</span><span id="Code_Open_Text_182450" style="display: none"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">/*</span><span style="color: #008000; ">******************************************************************************<br />&nbsp;&nbsp;&nbsp;&nbsp;素数＋欧拉函数表<br />******************************************************************************</span><span style="color: #008000; ">*/</span><br /><span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;size&nbsp;=&nbsp;1000010;<br /><br /><span style="color: #0000FF; ">int</span>&nbsp;phi[size],&nbsp;prime[size];<br /><span style="color: #0000FF; ">bool</span>&nbsp;check[size];<br /><br /><span style="color: #0000FF; ">void</span>&nbsp;excelphi()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;memset(check,&nbsp;<span style="color: #0000FF; ">false</span>,&nbsp;<span style="color: #0000FF; ">sizeof</span>(check));<br />&nbsp;&nbsp;&nbsp;&nbsp;phi[1]&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;tot&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;2;&nbsp;i&nbsp;&lt;=&nbsp;size;&nbsp;i++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(!check[i])&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prime[tot++]&nbsp;=&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;phi[i]&nbsp;=&nbsp;i&nbsp;-&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;j&nbsp;=&nbsp;0;&nbsp;j&nbsp;&lt;&nbsp;tot;&nbsp;j++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(i&nbsp;*&nbsp;prime[j]&nbsp;&gt;&nbsp;size)&nbsp;<span style="color: #0000FF; ">break</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;check[i*prime[j]]&nbsp;=&nbsp;<span style="color: #0000FF; ">true</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(i&nbsp;%&nbsp;prime[j]&nbsp;==&nbsp;0)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;phi[i*prime[j]]&nbsp;=&nbsp;phi[i]*prime[j];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">break</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;phi[i*prime[j]]&nbsp;=&nbsp;phi[i]*(prime[j]&nbsp;-&nbsp;1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span></div>再贴个筛区间素数的：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><img id="Code_Closed_Image_182517" onclick="this.style.display='none'; Code_Closed_Text_182517.style.display='none'; Code_Open_Image_182517.style.display='inline'; Code_Open_Text_182517.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"><img id="Code_Open_Image_182517" style="display: none" onclick="this.style.display='none'; Code_Open_Text_182517.style.display='none'; Code_Closed_Image_182517.style.display='inline'; Code_Closed_Text_182517.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"><span id="Code_Closed_Text_182517" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">筛区间素数</span><span id="Code_Open_Text_182517" style="display: none"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">/*</span><span style="color: #008000; ">******************************************************************************<br />&nbsp;&nbsp;&nbsp;&nbsp;筛区间素数<br />******************************************************************************</span><span style="color: #008000; ">*/</span><br /><span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;size&nbsp;=&nbsp;32000,&nbsp;maxn&nbsp;=&nbsp;1000010;<br /><span style="color: #0000FF; ">int</span>&nbsp;check[maxn],&nbsp;prime[size],&nbsp;ans[maxn],&nbsp;cnt;<br /><br /><span style="color: #0000FF; ">void</span>&nbsp;get_small_prime()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;memset(check,&nbsp;0,&nbsp;<span style="color: #0000FF; ">sizeof</span>(check));<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;2;&nbsp;i&nbsp;&lt;&nbsp;size;&nbsp;i++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(!check[i])&nbsp;prime[cnt++]&nbsp;=&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;j&nbsp;=&nbsp;i&nbsp;*&nbsp;i;&nbsp;j&nbsp;&lt;&nbsp;size;&nbsp;j&nbsp;+=&nbsp;i)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;check[i]&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><span style="color: #0000FF; ">void</span>&nbsp;get_large_prime(<span style="color: #0000FF; ">int</span>&nbsp;l,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;r)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;cnt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;memset(ans,&nbsp;0,&nbsp;<span style="color: #0000FF; ">sizeof</span>(ans));<br />&nbsp;&nbsp;&nbsp;&nbsp;memset(check,&nbsp;0,&nbsp;<span style="color: #0000FF; ">sizeof</span>(check));<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;prime[i]&nbsp;*&nbsp;prime[i]&nbsp;&lt;=&nbsp;r;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;j&nbsp;=&nbsp;l&nbsp;/&nbsp;prime[i];&nbsp;j&nbsp;*&nbsp;prime[i]&nbsp;&lt;=&nbsp;r;&nbsp;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(j&nbsp;&gt;&nbsp;1&nbsp;&amp;&amp;&nbsp;j&nbsp;*&nbsp;prime[i]&nbsp;&gt;=&nbsp;l)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;check[j&nbsp;*&nbsp;prime[i]&nbsp;-&nbsp;l]&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;l;&nbsp;i&nbsp;&lt;=&nbsp;r;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(!check[i-l]&nbsp;&amp;&amp;&nbsp;i&nbsp;&gt;&nbsp;1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans[cnt++]&nbsp;=&nbsp;i;<br />}<br /></span></div><img src ="http://www.cppblog.com/phonism/aggbug/190996.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/phonism/" target="_blank">phonism</a> 2012-09-17 18:23 <a href="http://www.cppblog.com/phonism/archive/2012/09/17/190996.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Matrix小记</title><link>http://www.cppblog.com/phonism/archive/2012/08/04/186286.html</link><dc:creator>phonism</dc:creator><author>phonism</author><pubDate>Sat, 04 Aug 2012 12:32:00 GMT</pubDate><guid>http://www.cppblog.com/phonism/archive/2012/08/04/186286.html</guid><wfw:comment>http://www.cppblog.com/phonism/comments/186286.html</wfw:comment><comments>http://www.cppblog.com/phonism/archive/2012/08/04/186286.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/phonism/comments/commentRss/186286.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/phonism/services/trackbacks/186286.html</trackback:ping><description><![CDATA[贴个专题<a href="http://acm.hdu.edu.cn/forum/read.php?tid=15908">http://acm.hdu.edu.cn/forum/read.php?tid=15908</a><br /><br />FOJ1683：<a href="http://acm.fzu.edu.cn/problem.php?pid=1683">http://acm.fzu.edu.cn/problem.php?pid=1683</a><br />题意：已知 F（n）=3 * F（n-1）+2 * F（n-2）+7 * F（n-3），n&gt;=3，其中F（0）=1，F（1）=3，F（2）=5，对于给定的每个n，输出F（0）+ F（1）+ &#8230;&#8230; + F（n） mod 2009。<br />题解：找到递推矩阵 <p style="margin-bottom: 0in">[S(n-1)] &nbsp; [1 3 2 7] &nbsp; &nbsp; [S(n)]</p> <p style="margin-bottom: 0in">[F(n-1)] * [0 3 2 7] &nbsp;= &nbsp;[F(n)]</p> <p style="margin-bottom: 0in">[F(n-2)] &nbsp; [0 1 0 0] &nbsp; &nbsp; [F(n-1)]</p> <p style="margin-bottom: 0in">[F(n-3)] &nbsp; [0 0 1 0] &nbsp; &nbsp; [F(n-2)]</p> <p style="margin-bottom: 0in"> 然后矩阵快速幂就破了 代码就不贴了。<br /><br />HDU2256：<a href="http://acm.hdu.edu.cn/showproblem.php?pid=2256">http://acm.hdu.edu.cn/showproblem.php?pid=2256</a><br /></p><p style="margin-bottom: 0in">这题可以用矩阵乘法解，非常巧妙。。。</p> <p style="margin-bottom: 0in">贴个解题报告吧：<br /><a href="http://chensmiles.blog.163.com/blog/static/121463991201073104757471/">http://chensmiles.blog.163.com/blog/static/12146399120107310<br />4757471/</a></p><p>&nbsp;</p><br /><br /><br /><img src ="http://www.cppblog.com/phonism/aggbug/186286.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/phonism/" target="_blank">phonism</a> 2012-08-04 20:32 <a href="http://www.cppblog.com/phonism/archive/2012/08/04/186286.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>