﻿<?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++博客-付翔的专栏</title><link>http://www.cppblog.com/397993401/</link><description>在鄙视中成长 记录成长的点滴</description><language>zh-cn</language><lastBuildDate>Fri, 10 Apr 2026 02:42:15 GMT</lastBuildDate><pubDate>Fri, 10 Apr 2026 02:42:15 GMT</pubDate><ttl>60</ttl><item><title>[usaco] Sweet Butter </title><link>http://www.cppblog.com/397993401/archive/2012/10/26/193924.html</link><dc:creator>付翔</dc:creator><author>付翔</author><pubDate>Fri, 26 Oct 2012 14:28:00 GMT</pubDate><guid>http://www.cppblog.com/397993401/archive/2012/10/26/193924.html</guid><wfw:comment>http://www.cppblog.com/397993401/comments/193924.html</wfw:comment><comments>http://www.cppblog.com/397993401/archive/2012/10/26/193924.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/397993401/comments/commentRss/193924.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/397993401/services/trackbacks/193924.html</trackback:ping><description><![CDATA[<p align="LEFT" style="margin: 4px 0px; padding: 2px 0px; background-color: #ffffff; color: #333333; font-family: sans-serif; line-height: 19px; "><br />下面转载自：<a href="http://wenku.baidu.com/view/cc7585630b1c59eef8c7b45c.html" _xhe_href="http://wenku.baidu.com/view/cc7585630b1c59eef8c7b45c.html">http://wenku.baidu.com/view/cc7585630b1c59eef8c7b45c.html</a></p><p align="LEFT" style="margin: 4px 0px; padding: 2px 0px; background-color: #ffffff; color: #333333; font-family: sans-serif; line-height: 19px; "><span style="color: #000000; ">&nbsp; &nbsp; &nbsp; &nbsp;简洁起见，我们约定有向加权图<span style="font-family: 'Times New Roman', serif; "><span style="font-family: Arial, sans-serif; ">G</span></span></span><span style="color: #000000; ">不存在负权回路，即</span><a href="http://baike.baidu.com/view/349189.htm" _xhe_href="http://baike.baidu.com/view/349189.htm" target="_blank"><span style="color: #3366cc; ">最短路径</span></a><span style="color: #000000; ">一定存在。当然，我们可以在执行该算法前做一次拓扑排序，以判断是否存在负权回路，但这不是我们讨论的重点。</span></p><p align="LEFT" style="margin: 4px 0px; padding: 2px 0px; background-color: #ffffff; color: #333333; font-family: sans-serif; line-height: 19px; "><span style="color: #000000; ">　　我们用数组<span style="font-family: Arial, sans-serif; ">d</span>记录每个结点的最短路径估计值，而且用邻接表来存储图<span style="font-family: Arial, sans-serif; ">G</span>。我们采取的方法是动态逼近法：设立一个先进先出的队列用来保存待优化的结点，优化时每次取出队首结点<span style="font-family: Arial, sans-serif; ">u</span>，并且用<span style="font-family: Arial, sans-serif; ">u</span>点当前的最短路径估计值对离开<span style="font-family: Arial, sans-serif; ">u</span>点所指向的结点<span style="font-family: Arial, sans-serif; ">v</span>进行松弛操作，如果<span style="font-family: Arial, sans-serif; ">v</span>点的最短路径估计值有所调整，且<span style="font-family: Arial, sans-serif; ">v</span>点不在当前的队列中，就将<span style="font-family: Arial, sans-serif; ">v</span>点放入队尾。这样不断从队列中取出结点来进行松弛操作，直至队列空为止。</span></p><p align="LEFT" style="margin: 4px 0px; padding: 2px 0px; background-color: #ffffff; color: #333333; font-family: sans-serif; line-height: 19px; ">----------------</p><p align="LEFT" style="margin: 4px 0px; padding: 2px 0px; background-color: #ffffff; color: #333333; font-family: sans-serif; line-height: 19px; ">我实现的spfa 算法也是来自上面，但是速度有点慢，是在check &nbsp;v是否在队列中，之前没有用hash，后来用hash就快了，但是还是卡在第九个测试样例上。 最后改成临接表的形式 ， 0.1s 刷过</p><pre style="margin-top: 4px; margin-bottom: 4px; background-color: #f0f0f0; font-size: 12px; line-height: 18px; font-family: Consolas, Monaco, monospace; color: #333333; ">//int graph[N][N];</pre><p style="margin: 4px 0px; padding: 2px 0px; background-color: #ffffff; color: #333333; font-family: sans-serif; line-height: 19px; ">//pair 第一个是点 ，第二个是边的权值<br />vector&lt; vector &lt; pair&lt;int ,int &gt; &gt; &gt; graph; 临接表 。。。。</p><div style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; background-color: #ffffff; "><pre name="code" style="margin-top: 4px; margin-bottom: 4px; background-color: #f0f0f0; "><br /></pre><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"><!--<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 />ID:fuxiang2<br />PROG:&nbsp;butter<br />LANG:&nbsp;C++<br /></span><span style="color: #008000; ">*/</span><br />#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;fstream&gt;<br />#include&nbsp;&lt;stack&gt;<br />#include&nbsp;&lt;<span style="color: #0000FF; ">string</span>&gt;<br />#include&nbsp;&lt;vector&gt;<br />#include&nbsp;&lt;queue&gt;<br />#include&nbsp;&lt;map&gt;<br />#include&nbsp;&lt;list&gt;<br />#include&nbsp;&lt;algorithm&gt;<br />#include&nbsp;&lt;<span style="color: #0000FF; ">set</span>&gt;<br />#include&nbsp;&lt;cmath&gt;<br />#include&nbsp;&lt;cstring&gt;<br />#include&nbsp;&lt;cstdlib&gt;<br /><br /><span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br />ofstream&nbsp;fout&nbsp;("butter.out");<br />ifstream&nbsp;fin&nbsp;("butter.in");<br /><br /><br /><span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;N&nbsp;=&nbsp;802;<br /><span style="color: #0000FF; ">int</span>&nbsp;maxN&nbsp;=&nbsp;0x0fffffff;<br /><span style="color: #008000; ">//</span><span style="color: #008000; ">int&nbsp;graph[N][N];<br /><br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">pair&nbsp;第一个是点&nbsp;，第二个是边的权值</span><span style="color: #008000; "><br /></span>vector&lt;&nbsp;vector&nbsp;&lt;&nbsp;pair&lt;<span style="color: #0000FF; ">int</span>&nbsp;,<span style="color: #0000FF; ">int</span>&nbsp;&gt;&nbsp;&gt;&nbsp;&gt;&nbsp;graph;<br /><span style="color: #0000FF; ">int</span>&nbsp;d[N];<br /><span style="color: #0000FF; ">int</span>&nbsp;cow[N];<br /><span style="color: #0000FF; ">int</span>&nbsp;flag[N]&nbsp;;<br /><span style="color: #0000FF; ">int</span>&nbsp;n,p,c;<br /><br /><br /><span style="color: #0000FF; ">void</span>&nbsp;spfa(<span style="color: #0000FF; ">int</span>&nbsp;start)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;queue&lt;<span style="color: #0000FF; ">int</span>&nbsp;&gt;&nbsp;q;<br />&nbsp;&nbsp;&nbsp;&nbsp;q.push(start);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">初始化距离</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;1&nbsp;;&nbsp;i&nbsp;&lt;=&nbsp;p&nbsp;;&nbsp;i&nbsp;++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d[i]&nbsp;=&nbsp;maxN;<br />&nbsp;&nbsp;&nbsp;&nbsp;d[start]&nbsp;=&nbsp;0;<br /><br />&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">memset(flag,N*sizeof(int),0);&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">这个在usaco编译错误</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;1&nbsp;;&nbsp;i&lt;=n&nbsp;;&nbsp;i&nbsp;++)&nbsp;flag[i]&nbsp;=&nbsp;0;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;flag[start]&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(!q.empty()){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;u&nbsp;=&nbsp;q.front();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q.pop();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag[u]&nbsp;=&nbsp;0;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(vector&lt;pair&lt;<span style="color: #0000FF; ">int</span>&nbsp;,<span style="color: #0000FF; ">int</span>&nbsp;&gt;&nbsp;&gt;::iterator&nbsp;iter&nbsp;=&nbsp;graph[u].begin()&nbsp;;&nbsp;iter&nbsp;!=&nbsp;graph[u].end()&nbsp;;&nbsp;iter&nbsp;++&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;v&nbsp;=&nbsp;iter-&gt;first;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(&nbsp;d[v]&nbsp;&nbsp;&gt;&nbsp;iter-&gt;second&nbsp;+&nbsp;d[u]&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d[v]&nbsp;=&nbsp;iter-&gt;second+&nbsp;d[u];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">if(queue_find(q&nbsp;,v)&nbsp;==&nbsp;false){</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(&nbsp;flag[v]&nbsp;==&nbsp;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;q.push(v);<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;flag[v]&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;}</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;end&nbsp;if</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<span style="color: #008000; ">//</span><span style="color: #008000; ">end&nbsp;for</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;}<span style="color: #008000; ">//</span><span style="color: #008000; ">end&nbsp;while</span><span style="color: #008000; "><br /></span><br /><br /><br />}<br /><span style="color: #0000FF; ">int</span>&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;fin&gt;&gt;n&gt;&gt;p&gt;&gt;c;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;1;&nbsp;i&nbsp;&lt;=&nbsp;n&nbsp;;&nbsp;i&nbsp;++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;a;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fin&gt;&gt;a;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cow[a]&nbsp;++;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i&nbsp;=1&nbsp;;&nbsp;i&nbsp;&lt;&nbsp;N&nbsp;;&nbsp;i&nbsp;++){<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;j&nbsp;=&nbsp;1&nbsp;;&nbsp;j&nbsp;&lt;&nbsp;N&nbsp;;&nbsp;j&nbsp;++)<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graph[i][j]&nbsp;=&nbsp;maxN;<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #008000; "><br /></span><br />&nbsp;&nbsp;&nbsp;&nbsp;graph.resize(N);<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;1&nbsp;;&nbsp;i&nbsp;&lt;=&nbsp;c&nbsp;;&nbsp;i&nbsp;++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;x,y,w;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fin&gt;&gt;&nbsp;x&gt;&gt;y&nbsp;&gt;&gt;w;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graph[x].push_back(make_pair(y,w));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graph[y].push_back(make_pair(x,w));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">long</span>&nbsp;minN&nbsp;=&nbsp;maxN;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;1&nbsp;;&nbsp;i&nbsp;&lt;=&nbsp;p&nbsp;;&nbsp;i&nbsp;++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;spfa(i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">long</span>&nbsp;t&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;j&nbsp;=&nbsp;1&nbsp;;&nbsp;j&nbsp;&lt;=&nbsp;p&nbsp;;&nbsp;j&nbsp;++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(d[j]&nbsp;==&nbsp;maxN)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;=&nbsp;maxN;<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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;+=&nbsp;cow[j]*d[j];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(t&nbsp;&lt;&nbsp;minN)&nbsp;minN&nbsp;=&nbsp;t;<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;fout&lt;&lt;&nbsp;minN&nbsp;&lt;&lt;endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />}</div><span style="color: #333333; font-family: sans-serif; font-size: 14px; line-height: 19px; ">1 ：&nbsp;</span><a href="http://www.nocow.cn/index.php/SPFA%E7%AE%97%E6%B3%95" _xhe_href="http://www.nocow.cn/index.php/SPFA%E7%AE%97%E6%B3%95" style="font-family: sans-serif; font-size: 14px; line-height: 19px; ">http://www.nocow.cn/index.php/SPFA%E7%AE%97%E6%B3%95</a></div><div style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; background-color: #ffffff; "></div><div style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; background-color: #ffffff; ">&nbsp;原始博客：http://www.fuxiang90.com/?p=1460</div><img src ="http://www.cppblog.com/397993401/aggbug/193924.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/397993401/" target="_blank">付翔</a> 2012-10-26 22:28 <a href="http://www.cppblog.com/397993401/archive/2012/10/26/193924.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[usaco]2.2 Subset Sums</title><link>http://www.cppblog.com/397993401/archive/2012/07/26/185256.html</link><dc:creator>付翔</dc:creator><author>付翔</author><pubDate>Thu, 26 Jul 2012 15:16:00 GMT</pubDate><guid>http://www.cppblog.com/397993401/archive/2012/07/26/185256.html</guid><wfw:comment>http://www.cppblog.com/397993401/comments/185256.html</wfw:comment><comments>http://www.cppblog.com/397993401/archive/2012/07/26/185256.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/397993401/comments/commentRss/185256.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/397993401/services/trackbacks/185256.html</trackback:ping><description><![CDATA[<h1>
<p style="margin: 0px; padding: 10px; color: #292929; font-family: Arial, sans-serif; font-size: 14px; font-weight: normal; line-height: 24px; text-align: justify; background-color: #ffffff; ">大概的题意是： 给定一个序列 1 。。N ，假设全集为U那么存在多少种情况 ： 两个子集A B其中A&#8745;B=&#8709; ，A&#8746;B=U ，A元素的和== B元素的和。</p>
<p style="margin: 0px; padding: 10px; color: #292929; font-family: Arial, sans-serif; font-size: 14px; font-weight: normal; line-height: 24px; text-align: justify; background-color: #ffffff; ">开始写了个递归，枚举，提交超时：<span style="font-size: 13px; color: #0000ff; ">void</span><span style="background-color: #eeeeee; font-size: 13px; ">&nbsp;work(</span><span style="font-size: 13px; color: #0000ff; ">int</span><span style="background-color: #eeeeee; font-size: 13px; ">&nbsp;deep,</span><span style="font-size: 13px; color: #0000ff; ">int</span><span style="background-color: #eeeeee; font-size: 13px; ">&nbsp;start)</span></p>
<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">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(deep&nbsp;&gt;=&nbsp;n)&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(ans&nbsp;&gt;&nbsp;(sum&nbsp;-ans))&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(ans&nbsp;==&nbsp;sum-ans)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gcount&nbsp;++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">/*</span><span style="color: #008000; ">FOR_1(i,1,n){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(used[i]&nbsp;==&nbsp;1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout&lt;&lt;i&lt;&lt;&nbsp;"&nbsp;";<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout&lt;&lt;endl;</span><span style="color: #008000; ">*/</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;FOR_1(i,start&nbsp;+&nbsp;1,n){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(used[i]&nbsp;==&nbsp;0){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used[i]&nbsp;=&nbsp;1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;+=&nbsp;i;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;work(deep&nbsp;+&nbsp;1,i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used[i]&nbsp;=&nbsp;0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;-=&nbsp;i;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
}</div>
</h1>
之后改用另外一种思路，f(n,ans) = f(n-1,ans-n) + f(n-1,ans) ,这个有点分治的思路，把问题的规模逐渐缩小，从而得到解。中间加了个优化，用一个二维数组存下中间计算的结果，这样就不会超时。<br />
<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"><!--<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 />
ID:fuxiang2<br />
PROG:&nbsp;subset<br />
LANG:&nbsp;C++<br />
</span><span style="color: #008000; ">*/</span><br />
#include&nbsp;&lt;iostream&gt;<br />
#include&nbsp;&lt;fstream&gt;<br />
#include&nbsp;&lt;stack&gt;<br />
#include&nbsp;&lt;<span style="color: #0000FF; ">string</span>&gt;<br />
#include&nbsp;&lt;vector&gt;<br />
#include&nbsp;&lt;queue&gt;<br />
#include&nbsp;&lt;map&gt;<br />
#include&nbsp;&lt;list&gt;<br />
#include&nbsp;&lt;algorithm&gt;<br />
#include&nbsp;&lt;<span style="color: #0000FF; ">set</span>&gt;<br />
#include&nbsp;&lt;cmath&gt;<br />
#include&nbsp;&lt;cstring&gt;<br />
#include&nbsp;&lt;cstdlib&gt;<br />
&nbsp;<br />
<span style="color: #0000FF; ">#define</span>&nbsp;REP(i,&nbsp;n)&nbsp;for&nbsp;(int&nbsp;i=0;i&lt;int(n);++i)<br />
<span style="color: #0000FF; ">#define</span>&nbsp;FOR(i,&nbsp;a,&nbsp;b)&nbsp;for&nbsp;(int&nbsp;i=int(a);i&lt;int(b);++i)<br />
<span style="color: #0000FF; ">#define</span>&nbsp;DWN(i,&nbsp;b,&nbsp;a)&nbsp;for&nbsp;(int&nbsp;i=int(b-1);i&gt;=int(a);--i)<br />
<span style="color: #0000FF; ">#define</span>&nbsp;REP_1(i,&nbsp;n)&nbsp;for&nbsp;(int&nbsp;i=1;i&lt;=int(n);++i)<br />
<span style="color: #0000FF; ">#define</span>&nbsp;FOR_1(i,&nbsp;a,&nbsp;b)&nbsp;for&nbsp;(int&nbsp;i=int(a);i&lt;=int(b);++i)<br />
<span style="color: #0000FF; ">#define</span>&nbsp;DWN_1(i,&nbsp;b,&nbsp;a)&nbsp;for&nbsp;(int&nbsp;i=int(b);i&gt;=int(a);--i)<br />
<span style="color: #0000FF; ">#define</span>&nbsp;EACH(it,&nbsp;A)&nbsp;for&nbsp;(typeof(A.begin())&nbsp;it=A.begin();&nbsp;it&nbsp;!=&nbsp;A.end();&nbsp;++it)<br />
&nbsp;<br />
<span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br />
ofstream&nbsp;fout&nbsp;("subset.out");<br />
ifstream&nbsp;fin&nbsp;("subset.in");<br />
&nbsp;<br />
<span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;N&nbsp;=&nbsp;40;<br />
<span style="color: #0000FF; ">int</span>&nbsp;used[N];<br />
<span style="color: #0000FF; ">int</span>&nbsp;n&nbsp;;<br />
<span style="color: #0000FF; ">int</span>&nbsp;sum;<br />
<span style="color: #0000FF; ">int</span>&nbsp;ans&nbsp;;<br />
<span style="color: #0000FF; ">int</span>&nbsp;gcount&nbsp;;<br />
<span style="color: #0000FF; ">int</span>&nbsp;data[40][800];<br />
<span style="color: #0000FF; ">void</span>&nbsp;work(<span style="color: #0000FF; ">int</span>&nbsp;deep,<span style="color: #0000FF; ">int</span>&nbsp;start)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(deep&nbsp;&gt;=&nbsp;n)&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(ans&nbsp;&gt;&nbsp;(sum&nbsp;-ans))&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(ans&nbsp;==&nbsp;sum-ans)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gcount&nbsp;++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">/*</span><span style="color: #008000; ">FOR_1(i,1,n){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(used[i]&nbsp;==&nbsp;1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout&lt;&lt;i&lt;&lt;&nbsp;"&nbsp;";<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout&lt;&lt;endl;</span><span style="color: #008000; ">*/</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;FOR_1(i,start&nbsp;+&nbsp;1,n){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(used[i]&nbsp;==&nbsp;0){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used[i]&nbsp;=&nbsp;1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;+=&nbsp;i;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;work(deep&nbsp;+&nbsp;1,i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used[i]&nbsp;=&nbsp;0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;-=&nbsp;i;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
}<br />
&nbsp;<br />
<span style="color: #0000FF; ">int</span>&nbsp;solve(<span style="color: #0000FF; ">int</span>&nbsp;n&nbsp;,<span style="color: #0000FF; ">int</span>&nbsp;ans)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;msum&nbsp;=&nbsp;(n+1)*n/2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(ans&nbsp;&lt;=&nbsp;0)&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(msum&nbsp;&lt;&nbsp;ans)&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0&nbsp;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;<span style="color: #0000FF; ">if</span>(msum&nbsp;==&nbsp;ans&nbsp;)&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;1&nbsp;;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(data[n][ans]&nbsp;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;data[n][ans]&nbsp;;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;data[n-1][ans-n]&nbsp;=&nbsp;solve(n-1,ans-n);<br />
&nbsp;&nbsp;&nbsp;&nbsp;data[n-1][ans]&nbsp;=&nbsp;solve(n-1,ans);<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;data[n-1][ans-n]&nbsp;+&nbsp;data[n-1][ans];<br />
}<br />
<span style="color: #0000FF; ">int</span>&nbsp;main()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;fin&gt;&gt;n;<br />
&nbsp;&nbsp;&nbsp;&nbsp;sum&nbsp;=&nbsp;(1+n)*n/2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(sum%2&nbsp;==1){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout&lt;&lt;"0"&lt;&lt;endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">work(0,0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">fout&lt;&lt;gcount/2&nbsp;&lt;&lt;endl;</span><span style="color: #008000; "><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;re&nbsp;=&nbsp;solve(n,sum/2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout&lt;&lt;re&lt;&lt;endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">int&nbsp;re&nbsp;=&nbsp;solve(n,sum/2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">fout&lt;&lt;re&lt;&lt;endl;</span><span style="color: #008000; "><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />
&nbsp;<br />
}</div>
原始博客地址：http://www.fuxiang90.com/2012/07/usaco2-2-subset-sums/<img src ="http://www.cppblog.com/397993401/aggbug/185256.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/397993401/" target="_blank">付翔</a> 2012-07-26 23:16 <a href="http://www.cppblog.com/397993401/archive/2012/07/26/185256.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[usaco]2.1 Ordered Fractions</title><link>http://www.cppblog.com/397993401/archive/2012/07/18/184023.html</link><dc:creator>付翔</dc:creator><author>付翔</author><pubDate>Wed, 18 Jul 2012 01:54:00 GMT</pubDate><guid>http://www.cppblog.com/397993401/archive/2012/07/18/184023.html</guid><wfw:comment>http://www.cppblog.com/397993401/comments/184023.html</wfw:comment><comments>http://www.cppblog.com/397993401/archive/2012/07/18/184023.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/397993401/comments/commentRss/184023.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/397993401/services/trackbacks/184023.html</trackback:ping><description><![CDATA[<span style="color: #292929; font-family: Arial, sans-serif; line-height: 24px; text-align: justify; background-color: #ffffff; ">水题，枚举 ，只是我在判重的时候用 set&lt;double&gt; 这个在usaco 得出的结果和 本地vs 运行的结果不同。最后改用gcd 判断 分子除以分母是否可约。</span>&nbsp;<br /><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"><!--<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 />ID:fuxiang2<br />PROG:&nbsp;frac1<br />LANG:&nbsp;C++<br /></span><span style="color: #008000; ">*/</span><br />#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;fstream&gt;<br />#include&nbsp;&lt;stack&gt;<br />#include&nbsp;&lt;<span style="color: #0000FF; ">string</span>&gt;<br />#include&nbsp;&lt;vector&gt;<br />#include&nbsp;&lt;queue&gt;<br />#include&nbsp;&lt;map&gt;<br />#include&nbsp;&lt;list&gt;<br />#include&nbsp;&lt;algorithm&gt;<br />#include&nbsp;&lt;<span style="color: #0000FF; ">set</span>&gt;<br />#include&nbsp;&lt;cmath&gt;<br />#include&nbsp;&lt;cstring&gt;<br />#include&nbsp;&lt;cstdlib&gt;<br />&nbsp;<br /><span style="color: #0000FF; ">#define</span>&nbsp;REP(i,&nbsp;n)&nbsp;for&nbsp;(int&nbsp;i=0;i&lt;int(n);++i)<br /><span style="color: #0000FF; ">#define</span>&nbsp;FOR(i,&nbsp;a,&nbsp;b)&nbsp;for&nbsp;(int&nbsp;i=int(a);i&lt;int(b);++i)<br /><span style="color: #0000FF; ">#define</span>&nbsp;DWN(i,&nbsp;b,&nbsp;a)&nbsp;for&nbsp;(int&nbsp;i=int(b-1);i&gt;=int(a);--i)<br /><span style="color: #0000FF; ">#define</span>&nbsp;REP_1(i,&nbsp;n)&nbsp;for&nbsp;(int&nbsp;i=1;i&lt;=int(n);++i)<br /><span style="color: #0000FF; ">#define</span>&nbsp;FOR_1(i,&nbsp;a,&nbsp;b)&nbsp;for&nbsp;(int&nbsp;i=int(a);i&lt;=int(b);++i)<br /><span style="color: #0000FF; ">#define</span>&nbsp;DWN_1(i,&nbsp;b,&nbsp;a)&nbsp;for&nbsp;(int&nbsp;i=int(b);i&gt;=int(a);--i)<br /><span style="color: #0000FF; ">#define</span>&nbsp;EACH(it,&nbsp;A)&nbsp;for&nbsp;(typeof(A.begin())&nbsp;it=A.begin();&nbsp;it&nbsp;!=&nbsp;A.end();&nbsp;++it)<br />&nbsp;<br /><span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br />ofstream&nbsp;fout&nbsp;("frac1.out");<br />ifstream&nbsp;fin&nbsp;("frac1.in");<br />&nbsp;<br /><span style="color: #0000FF; ">class</span>&nbsp;Node{<br /><span style="color: #0000FF; ">public</span>:&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;a;<span style="color: #008000; ">//</span><span style="color: #008000; ">分子</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;b;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;分母</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">double</span>&nbsp;val;<br />&nbsp;&nbsp;&nbsp;&nbsp;Node()&nbsp;{}<br />&nbsp;&nbsp;&nbsp;&nbsp;Node(<span style="color: #0000FF; ">int</span>&nbsp;_a,<span style="color: #0000FF; ">int</span>&nbsp;_b&nbsp;,<span style="color: #0000FF; ">double</span>&nbsp;_val)&nbsp;:a(_a),b(_b),val(_val){}<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;&lt;&nbsp;(<span style="color: #0000FF; ">const</span>&nbsp;Node&nbsp;&amp;&nbsp;m)<span style="color: #0000FF; ">const</span>&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;val&nbsp;&lt;&nbsp;m.val;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />};<br /><span style="color: #0000FF; ">set</span>&lt;<span style="color: #0000FF; ">double</span>&gt;&nbsp;sd;<br />vector&lt;Node&gt;&nbsp;vn;<br /><span style="color: #0000FF; ">int</span>&nbsp;gcd(<span style="color: #0000FF; ">int</span>&nbsp;a,<span style="color: #0000FF; ">int</span>&nbsp;b)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(b&nbsp;==&nbsp;1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;b;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(b&nbsp;==&nbsp;0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;a;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;gcd(b,a%b);<br />}<br /><span style="color: #0000FF; ">void</span>&nbsp;worik(<span style="color: #0000FF; ">int</span>&nbsp;n)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">double</span>&nbsp;ans&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;FOR_1(i,1,n)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FOR_1(j,1,n){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(i&nbsp;&lt;&nbsp;j)<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;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;=&nbsp;i*1.0/j;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">if(sd.find(ans)&nbsp;==&nbsp;sd.end())</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(gcd(j,i)&nbsp;==&nbsp;1)<br />&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;&nbsp;node(i,j,ans);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vn.push_back(node);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sd.insert(ans);<br />&nbsp;&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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;sort(vn.begin()&nbsp;,vn.end());<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;fout&lt;&lt;&nbsp;"0/1"&nbsp;&lt;&lt;&nbsp;endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(vector&nbsp;&lt;Node&gt;&nbsp;::iterator&nbsp;iter&nbsp;=&nbsp;vn.begin()&nbsp;;&nbsp;iter&nbsp;!=&nbsp;vn.end()&nbsp;;&nbsp;iter&nbsp;++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout&nbsp;&lt;&lt;&nbsp;(iter)-&gt;a&nbsp;&lt;&lt;&nbsp;"/"&nbsp;&lt;&lt;&nbsp;(iter)-&gt;b&nbsp;&lt;&lt;endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;fout&lt;&lt;"1/1"&lt;&lt;endl;<br />&nbsp;<br />}<br />&nbsp;<br /><span style="color: #0000FF; ">int</span>&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;n;<br />&nbsp;&nbsp;&nbsp;&nbsp;fin&gt;&gt;n;<br />&nbsp;&nbsp;&nbsp;&nbsp;worik(n);<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />&nbsp;<br />}</div><br /><br />原始博客地址：&nbsp;<a href="http://www.fuxiang90.com/2012/07/usaco2-1-ordered-fractions/">http://www.fuxiang90.com/2012/07/usaco2-1-ordered-fractions/</a><img src ="http://www.cppblog.com/397993401/aggbug/184023.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/397993401/" target="_blank">付翔</a> 2012-07-18 09:54 <a href="http://www.cppblog.com/397993401/archive/2012/07/18/184023.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[usaco]1.5 Checker Challenge</title><link>http://www.cppblog.com/397993401/archive/2012/07/10/182557.html</link><dc:creator>付翔</dc:creator><author>付翔</author><pubDate>Tue, 10 Jul 2012 02:41:00 GMT</pubDate><guid>http://www.cppblog.com/397993401/archive/2012/07/10/182557.html</guid><wfw:comment>http://www.cppblog.com/397993401/comments/182557.html</wfw:comment><comments>http://www.cppblog.com/397993401/archive/2012/07/10/182557.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/397993401/comments/commentRss/182557.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/397993401/services/trackbacks/182557.html</trackback:ping><description><![CDATA[<p style="background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding: 10px; color: #292929; font-family: Arial, sans-serif; line-height: 24px; text-align: justify; "><span style="white-space: pre-wrap; ">原始博客地址： </span><a href="http://www.fuxiang90.com/2012/07/usaco1-5-checker-challenge/" style="white-space: pre-wrap; color: #336699; text-decoration: none; ">http://www.fuxiang90.com/2012/07/usaco1-5-checker-challenge/</a>拿到题目我的第一反应是八皇后问题，顺利的写出了递归解法，弄完这个，感觉自己写递归和回溯有了一定的进步了,至此第一章做完了，再接再厉。</p><p style="background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding: 10px; color: #292929; font-family: Arial, sans-serif; line-height: 24px; text-align: justify; ">但是提交后，在13 这个测试样例超时，然后就在想怎么剪枝</p><ul style="background-color: #ffffff; list-style-type: none; margin: 10px 0px; padding: 0px 0px 0px 10px; color: #292929; font-family: Arial, sans-serif; line-height: 24px; text-align: justify; "><li style="line-height: 20px; margin: 4px 0px; padding: 0px 0px 0px 25px; ">之前在判断放棋子是否冲突的时候，是在放的位置往四个方向拓展，如果没有冲突就放 。现在改进为直接判断 和之前放置的棋子是否冲突。</li><li style="line-height: 20px; margin: 4px 0px; padding: 0px 0px 0px 25px; ">对称剪枝，这个在百度之后才知道的 ，这个是关键，直接砍掉一般的时间</li></ul><div style="background-color: #ffffff; color: #292929; font-family: Arial, sans-serif; line-height: 24px; text-align: justify; ">还有说是用位运算，这个不熟，下次去学一下。</div><pre style="white-space: pre-wrap; word-wrap: break-word; color: #292929; line-height: 24px; text-align: justify; background-color: #ffffff; "><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"><!--<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 />ID:fuxiang2<br />PROG:&nbsp;checker<br />LANG:&nbsp;C++<br /></span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br />#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; ">fstream</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; ">stack</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</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; ">vector</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; ">queue</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; ">map</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; ">list</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; ">algorithm</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">set</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 />#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">cstring</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; ">cstdlib</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />&nbsp;<br /></span><span style="color: #0000FF; ">#define</span><span style="color: #000000; ">&nbsp;REP(i,&nbsp;n)&nbsp;for&nbsp;(int&nbsp;i=0;i&lt;int(n);++i)</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">#define</span><span style="color: #000000; ">&nbsp;FOR(i,&nbsp;a,&nbsp;b)&nbsp;for&nbsp;(int&nbsp;i=int(a);i&lt;int(b);++i)</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">#define</span><span style="color: #000000; ">&nbsp;DWN(i,&nbsp;b,&nbsp;a)&nbsp;for&nbsp;(int&nbsp;i=int(b-1);i&gt;=int(a);--i)</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">#define</span><span style="color: #000000; ">&nbsp;REP_1(i,&nbsp;n)&nbsp;for&nbsp;(int&nbsp;i=1;i&lt;=int(n);++i)</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">#define</span><span style="color: #000000; ">&nbsp;FOR_1(i,&nbsp;a,&nbsp;b)&nbsp;for&nbsp;(int&nbsp;i=int(a);i&lt;=int(b);++i)</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">#define</span><span style="color: #000000; ">&nbsp;DWN_1(i,&nbsp;b,&nbsp;a)&nbsp;for&nbsp;(int&nbsp;i=int(b);i&gt;=int(a);--i)</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">#define</span><span style="color: #000000; ">&nbsp;EACH(it,&nbsp;A)&nbsp;for&nbsp;(typeof(A.begin())&nbsp;it=A.begin();&nbsp;it&nbsp;!=&nbsp;A.end();&nbsp;++it)</span><span style="color: #000000; "><br />&nbsp;<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 />ofstream&nbsp;fout&nbsp;(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">checker.out</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />ifstream&nbsp;fin&nbsp;(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">checker.in</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;<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;N&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">14</span><span style="color: #000000; ">;<br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;graph[N][N];<br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;n;<br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;ans&nbsp;;<br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;result&nbsp;;<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;类似八皇后问题</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;used[N];<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">list&nbsp;&lt;int&nbsp;&gt;path;</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;path[N];<br />&nbsp;<br /></span><span style="color: #0000FF; ">bool</span><span style="color: #000000; ">&nbsp;isok(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;x,</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;y)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(x&nbsp;</span><span style="color: #000000; ">&gt;=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&amp;&amp;</span><span style="color: #000000; ">&nbsp;x</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">&nbsp;n&nbsp;</span><span style="color: #000000; ">&amp;&amp;</span><span style="color: #000000; ">&nbsp;y&nbsp;</span><span style="color: #000000; ">&gt;=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&amp;&amp;</span><span style="color: #000000; ">&nbsp;y&nbsp;</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">&nbsp;n)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br />}<br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;dir[</span><span style="color: #000000; ">4</span><span style="color: #000000; ">][</span><span style="color: #000000; ">2</span><span style="color: #000000; ">]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;{&nbsp;{</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">}&nbsp;,{</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">1</span><span style="color: #000000; ">},{</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">1</span><span style="color: #000000; ">},{</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">}&nbsp;};<br /></span><span style="color: #0000FF; ">bool</span><span style="color: #000000; ">&nbsp;check(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;x,</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;y&nbsp;)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;nx&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;x;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;ny&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;y;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;n&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;x&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(n&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; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;FOR_1(i,</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,n){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nx&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ny&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;path[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(&nbsp;abs(x</span><span style="color: #000000; ">-</span><span style="color: #000000; ">nx)&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;abs(y</span><span style="color: #000000; ">-</span><span style="color: #000000; ">ny))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<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: #0000FF; ">true</span><span style="color: #000000; ">;<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">FOR_1(i,0,3){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;nx&nbsp;=&nbsp;x&nbsp;+&nbsp;&nbsp;dir[i][0];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;ny&nbsp;=&nbsp;y&nbsp;+&nbsp;&nbsp;dir[i][1];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;while(isok(nx,ny)&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(graph[nx][ny]&nbsp;==&nbsp;1)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nx&nbsp;+=&nbsp;dir[i][0];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ny&nbsp;+=&nbsp;dir[i][1];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">return&nbsp;true;</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;<br />}<br />&nbsp;<br /></span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;place(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;col,</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;row)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;graph[row][col]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(row</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;n){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;</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; ">(result&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;ans&nbsp;</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">3</span><span style="color: #000000; ">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">list&lt;int&nbsp;&gt;::iterator&nbsp;iter&nbsp;=&nbsp;path.begin();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">fout&lt;&lt;&nbsp;*iter;</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">path[</span><span style="color: #000000; ">1</span><span style="color: #000000; ">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">for(iter&nbsp;++&nbsp;;&nbsp;iter&nbsp;!=&nbsp;path.end()&nbsp;;&nbsp;iter&nbsp;++)</span><span style="color: #008000; "><br /></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; ">(</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;;&nbsp;i&nbsp;</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">&nbsp;n&nbsp;;&nbsp;i&nbsp;</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;path[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graph[row][col]&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; ">return</span><span style="color: #000000; ">&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;FOR_1(i,</span><span style="color: #000000; ">1</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; ">(used[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;</span><span style="color: #000000; ">&amp;&amp;</span><span style="color: #000000; ">&nbsp;check(row</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,i&nbsp;)&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path[row</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;i;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">path.push_back(i);</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used[i]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;place(i,row</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">path.pop_back();</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used[i]&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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;graph[row][col]&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;<br />}<br /></span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;work(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;n)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;result&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;<br />&nbsp;&nbsp;&nbsp;&nbsp;FOR_1(j,</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,n</span><span style="color: #000000; ">/</span><span style="color: #000000; ">2</span><span style="color: #000000; ">)&nbsp;{</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;列</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path[</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;j;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">path.push_back(j);</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used[j]&nbsp;&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;place(j,</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">path.pop_back();</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used[j]&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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;re&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;&nbsp;ans;<br />&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;ans;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(re&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">3</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">||</span><span style="color: #000000; ">&nbsp;n</span><span style="color: #000000; ">%</span><span style="color: #000000; ">2</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;t&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;n</span><span style="color: #000000; ">/</span><span style="color: #000000; ">2</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&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;path[</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;t;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">path.push_back(j);</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used[t]&nbsp;&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;place(t,</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(&nbsp;n</span><span style="color: #000000; ">%</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">2</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;</span><span style="color: #000000; ">+=</span><span style="color: #000000; ">&nbsp;re&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;ans;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;</span><span style="color: #000000; ">+=</span><span style="color: #000000; ">&nbsp;re;<br />}<br />&nbsp;<br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;fin</span><span style="color: #000000; ">&gt;&gt;</span><span style="color: #000000; ">n;<br />&nbsp;&nbsp;&nbsp;&nbsp;work(n);<br />&nbsp;&nbsp;&nbsp;&nbsp;fout</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;result</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">endl;<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 />&nbsp;<br />}<br /><br /></span>
<pre style="white-space: pre-wrap; word-wrap: break-word; font-size: 14px; background-color: #ffffff; ">原始博客地址： <a href="http://www.fuxiang90.com/2012/07/usaco1-5-checker-challenge/" style="color: #336699; text-decoration: none; ">http://www.fuxiang90.com/2012/07/usaco1-5-checker-challenge/</a></pre></div></pre><img src ="http://www.cppblog.com/397993401/aggbug/182557.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/397993401/" target="_blank">付翔</a> 2012-07-10 10:41 <a href="http://www.cppblog.com/397993401/archive/2012/07/10/182557.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[usaco]1.4 Mother’s Milk</title><link>http://www.cppblog.com/397993401/archive/2012/07/10/182556.html</link><dc:creator>付翔</dc:creator><author>付翔</author><pubDate>Tue, 10 Jul 2012 02:39:00 GMT</pubDate><guid>http://www.cppblog.com/397993401/archive/2012/07/10/182556.html</guid><wfw:comment>http://www.cppblog.com/397993401/comments/182556.html</wfw:comment><comments>http://www.cppblog.com/397993401/archive/2012/07/10/182556.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/397993401/comments/commentRss/182556.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/397993401/services/trackbacks/182556.html</trackback:ping><description><![CDATA[<span style="color: #292929; font-family: Arial, sans-serif; line-height: 24px; text-align: justify; ">分析后 和之前的类似，每一步有六种状态转移的方式 ： c-&gt;a ;c-&gt;b; a-&gt;c;b-&gt;c，a-&gt;b ;b-&gt;a</span><br style="color: #292929; font-family: Arial, sans-serif; line-height: 24px; text-align: justify; " /><span style="color: #292929; font-family: Arial, sans-serif; line-height: 24px; text-align: justify; ">那每个状态是 a,b,c 的牛奶数量，因为是是从1 -20 ，那么等于是有20^3种状态、</span><br style="color: #292929; font-family: Arial, sans-serif; line-height: 24px; text-align: justify; " /><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; "><span style="color: #292929; font-family: Arial, sans-serif; line-height: 24px; text-align: justify; ">和之前的clock 很像，标记状态hash 判重，遍历所有的情况就可以。</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; "></p><div bg_cpp"="" style="width: 687px; "><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"><!--<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: #008000; ">/*</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">ID:fuxiang2<br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">PROG:&nbsp;ariprog<br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; ">LANG:&nbsp;C++<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #008000; "></span><span style="color: #008000; ">*/</span><br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;#include&nbsp;&lt;iostream&gt;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;#include&nbsp;&lt;fstream&gt;<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;#include&nbsp;&lt;<span style="color: #0000FF; ">string</span>&gt;<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;#include&nbsp;&lt;vector&gt;<br /><span style="color: #008080; ">10</span>&nbsp;#include&nbsp;&lt;map&gt;<br /><span style="color: #008080; ">11</span>&nbsp;#include&nbsp;&lt;algorithm&gt;<br /><span style="color: #008080; ">12</span>&nbsp;#include&nbsp;&lt;<span style="color: #0000FF; ">set</span>&gt;<br /><span style="color: #008080; ">13</span>&nbsp;#include&nbsp;&lt;cmath&gt;<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;<br /><span style="color: #008080; ">15</span>&nbsp;<span style="color: #0000FF; ">#define</span>&nbsp;REP(i,&nbsp;n)&nbsp;for&nbsp;(int&nbsp;i=0;i&lt;int(n);++i)<br /><span style="color: #008080; ">16</span>&nbsp;<span style="color: #0000FF; ">#define</span>&nbsp;FOR(i,&nbsp;a,&nbsp;b)&nbsp;for&nbsp;(int&nbsp;i=int(a);i&lt;int(b);++i)<br /><span style="color: #008080; ">17</span>&nbsp;<span style="color: #0000FF; ">#define</span>&nbsp;DWN(i,&nbsp;b,&nbsp;a)&nbsp;for&nbsp;(int&nbsp;i=int(b-1);i&gt;=int(a);--i)<br /><span style="color: #008080; ">18</span>&nbsp;<span style="color: #0000FF; ">#define</span>&nbsp;REP_1(i,&nbsp;n)&nbsp;for&nbsp;(int&nbsp;i=1;i&lt;=int(n);++i)<br /><span style="color: #008080; ">19</span>&nbsp;<span style="color: #0000FF; ">#define</span>&nbsp;FOR_1(i,&nbsp;a,&nbsp;b)&nbsp;for&nbsp;(int&nbsp;i=int(a);i&lt;=int(b);++i)<br /><span style="color: #008080; ">20</span>&nbsp;<span style="color: #0000FF; ">#define</span>&nbsp;DWN_1(i,&nbsp;b,&nbsp;a)&nbsp;for&nbsp;(int&nbsp;i=int(b);i&gt;=int(a);--i)<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;<br /><span style="color: #008080; ">22</span>&nbsp;<span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><span style="color: #008080; ">23</span>&nbsp;ofstream&nbsp;fout&nbsp;("ariprog.out");<br /><span style="color: #008080; ">24</span>&nbsp;ifstream&nbsp;fin&nbsp;("ariprog.in");<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;<br /><span style="color: #008080; ">26</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;n,m;<br /><span style="color: #008080; ">27</span>&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">set&lt;int&gt;&nbsp;si;</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #008000; "></span>&nbsp;<br /><span style="color: #008080; ">29</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;hash[62510&nbsp;*&nbsp;2];<br /><span style="color: #008080; ">30</span>&nbsp;&nbsp;<br /><span style="color: #008080; ">31</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;node<br /><span style="color: #008080; ">32</span>&nbsp;{<br /><span style="color: #008080; ">33</span>&nbsp;<span style="color: #0000FF; ">public</span>:<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;a;<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;b;<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;<br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node(<span style="color: #0000FF; ">int</span>&nbsp;_a,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;_b){<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;=&nbsp;_a;<br /><span style="color: #008080; ">39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b&nbsp;=&nbsp;_b;<br /><span style="color: #008080; ">40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">41</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;&lt;&nbsp;(<span style="color: #0000FF; ">const</span>&nbsp;node&nbsp;&amp;&nbsp;m&nbsp;)<span style="color: #0000FF; ">const</span>&nbsp;{<br /><span style="color: #008080; ">42</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(m.b&nbsp;==&nbsp;b)&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;a&nbsp;&lt;&nbsp;m.a;<br /><span style="color: #008080; ">43</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;b&nbsp;&lt;&nbsp;m.b;<br /><span style="color: #008080; ">44</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">45</span>&nbsp;};<br /><span style="color: #008080; ">46</span>&nbsp;vector&lt;node&gt;&nbsp;vn;<br /><span style="color: #008080; ">47</span>&nbsp;&nbsp;<br /><span style="color: #008080; ">48</span>&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">应该是这里比较费时间</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">49</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">void</span>&nbsp;work(<span style="color: #0000FF; ">int</span>&nbsp;a,<span style="color: #0000FF; ">int</span>&nbsp;b)<br /><span style="color: #008080; ">50</span>&nbsp;{<br /><span style="color: #008080; ">51</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;ans&nbsp;=&nbsp;a;<br /><span style="color: #008080; ">52</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(hash[ans]&nbsp;&nbsp;==&nbsp;0)<br /><span style="color: #008080; ">53</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;;<br /><span style="color: #008080; ">54</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FOR(i,0,n-1){<br /><span style="color: #008080; ">55</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;+=&nbsp;b;<br /><span style="color: #008080; ">56</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(hash[ans]&nbsp;==&nbsp;0)<br /><span style="color: #008080; ">57</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;;<br /><span style="color: #008080; ">58</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">59</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node&nbsp;t(a,b);<br /><span style="color: #008080; ">60</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vn.push_back(t);<br /><span style="color: #008080; ">61</span>&nbsp;&nbsp;<br /><span style="color: #008080; ">62</span>&nbsp;}<br /><span style="color: #008080; ">63</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;main()<br /><span style="color: #008080; ">64</span>&nbsp;{<br /><span style="color: #008080; ">65</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fin&nbsp;&gt;&gt;&nbsp;n&nbsp;&gt;&gt;&nbsp;m;<br /><span style="color: #008080; ">66</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FOR_1(i,0,m)<br /><span style="color: #008080; ">67</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FOR_1(j,0,m){<br /><span style="color: #008080; ">68</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;ii&nbsp;=&nbsp;i*i;<br /><span style="color: #008080; ">69</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;jj&nbsp;=&nbsp;j*j;<br /><span style="color: #008080; ">70</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hash[ii&nbsp;+&nbsp;jj]&nbsp;=&nbsp;1;<br /><span style="color: #008080; ">71</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">72</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;end&nbsp;=&nbsp;m*m&nbsp;;<br /><span style="color: #008080; ">73</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FOR_1(i,0,end)<br /><span style="color: #008080; ">74</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FOR_1(j,1,end){<br /><span style="color: #008080; ">75</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(&nbsp;&nbsp;(i&nbsp;+&nbsp;(n-1)*j)&nbsp;&lt;=&nbsp;2*end)<br /><span style="color: #008080; ">76</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;work(i,j);<br /><span style="color: #008080; ">77</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br /><span style="color: #008080; ">78</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">break</span>;<br /><span style="color: #008080; ">79</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">80</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sort(vn.begin(),vn.end());<br /><span style="color: #008080; ">81</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(vn.empty())<br /><span style="color: #008080; ">82</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout&nbsp;&lt;&lt;&nbsp;"NONE"&lt;&lt;endl;<br /><span style="color: #008080; ">83</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br /><span style="color: #008080; ">84</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(vector&lt;node&gt;::iterator&nbsp;&nbsp;iter&nbsp;=&nbsp;&nbsp;vn.begin()&nbsp;;&nbsp;iter&nbsp;!=&nbsp;vn.end()&nbsp;;&nbsp;iter&nbsp;++&nbsp;){<br /><span style="color: #008080; ">85</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout&nbsp;&lt;&lt;&nbsp;iter-&gt;a&nbsp;&lt;&lt;&nbsp;"&nbsp;"&lt;&lt;&nbsp;iter&nbsp;-&gt;b&lt;&lt;endl;<br /><span style="color: #008080; ">86</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">87</span>&nbsp;&nbsp;<br /><span style="color: #008080; ">88</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br /><span style="color: #008080; ">89</span>&nbsp;}</div></div><br />原始博客地址：<a href="http://www.fuxiang90.com/2012/06/usaco1-4-mothers-milk/" style="color: #336699; text-decoration: none; ">http://www.fuxiang90.com/2012/06/usaco1-4-mothers-milk/</a><p>&nbsp;</p><img src ="http://www.cppblog.com/397993401/aggbug/182556.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/397993401/" target="_blank">付翔</a> 2012-07-10 10:39 <a href="http://www.cppblog.com/397993401/archive/2012/07/10/182556.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>catalan 数 证明</title><link>http://www.cppblog.com/397993401/archive/2011/07/22/151666.html</link><dc:creator>付翔</dc:creator><author>付翔</author><pubDate>Fri, 22 Jul 2011 10:05:00 GMT</pubDate><guid>http://www.cppblog.com/397993401/archive/2011/07/22/151666.html</guid><wfw:comment>http://www.cppblog.com/397993401/comments/151666.html</wfw:comment><comments>http://www.cppblog.com/397993401/archive/2011/07/22/151666.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/397993401/comments/commentRss/151666.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/397993401/services/trackbacks/151666.html</trackback:ping><description><![CDATA[<p>定理：n个1 和n个-1 构成的2n项 a1,a2….a2n ,其部分和</p> <p>满足 a1 + a2 + …aK &gt;= 0 (k = 1 2 … 2n ) 这个的条件的个数 为</p> <p><a href="http://www.cppblog.com/images/cppblog_com/397993401/WindowsLiveWriter/catalan_F7D5/clip_image002_2.gif"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://www.cppblog.com/images/cppblog_com/397993401/WindowsLiveWriter/catalan_F7D5/clip_image002_thumb.gif" width="104" height="48"></a></p> <p>证明：令An 为其中可以接受的系列Bn 为不可接受的系列</p> <p>那么 An + Bn = <a href="http://www.cppblog.com/images/cppblog_com/397993401/WindowsLiveWriter/catalan_F7D5/clip_image002%5B4%5D.gif"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://www.cppblog.com/images/cppblog_com/397993401/WindowsLiveWriter/catalan_F7D5/clip_image002%5B4%5D_thumb.gif" width="37" height="48"></a> .An 是我们要求的，我们可以通过求出Bn来得到An 。</p> <p>我们假设存在 一个最小的K 使得a1 + a2 +…+ak 为负，那么 可以肯定 a1+…+ak-1 = 0,且ak = -1.k 为奇整数。</p> <p>对于每一种不符合条件的序列a1 + a2 +…+ak +…+a2n 将a1 a2 ak 都用-a1 –a2 –ak 代替，那么新的数列</p> <p>a1’ a2’ … a2n’ 就有 n+1 个 +1 和 n-1 个 –1&nbsp; 。即每一种 不符合条件的 数列经过上述过程都将变为</p> <p>&nbsp; n+1 个 +1 和 n-1 个 –1&nbsp;&nbsp; 的排列 。<strong>那么现在要证明 n+1 个 +1 和 n-1 个 –1&nbsp;&nbsp; 的排列数 == Bn </strong></p> <p><strong>n+1 个 +1 和 n-1 个 –1&nbsp;&nbsp; 的排列 肯定存在一个 最小的k 使得 a1 + a2 + …aK &lt;&nbsp; 0&nbsp;&nbsp; 而将这部分也用-a1 –a2 –ak 代替 ，也就成为了 n个1 和n个-1 构成的2n项 a1,a2….a2n&nbsp;&nbsp; 而Bn的排列就好求了</strong></p> <p><a href="http://www.cppblog.com/images/cppblog_com/397993401/WindowsLiveWriter/catalan_F7D5/clip_image002%5B6%5D.gif"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[6]" border="0" alt="clip_image002[6]" src="http://www.cppblog.com/images/cppblog_com/397993401/WindowsLiveWriter/catalan_F7D5/clip_image002%5B6%5D_thumb.gif" width="131" height="47"></a><strong>&nbsp;</strong></p> <p><strong>==》<a href="http://www.cppblog.com/images/cppblog_com/397993401/WindowsLiveWriter/catalan_F7D5/clip_image002%5B8%5D.gif"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[8]" border="0" alt="clip_image002[8]" src="http://www.cppblog.com/images/cppblog_com/397993401/WindowsLiveWriter/catalan_F7D5/clip_image002%5B8%5D_thumb.gif" width="104" height="48"></a>&nbsp;</strong></p> <p>应用： 有2n个人要去剧场，入场5角，有n个人有1元，n个人有5角，剧场的卖票处刚开始没有零钱，那么存在多少种队列方式。</p> <p>粗体的证明 ，我感觉有些牵强，呵呵 大家有好的方法，请指正。</p> <p>我独立博客地址 <a title="http://www.fuxiang90.me/?p=286" href="http://www.fuxiang90.me/?p=286">http://www.fuxiang90.me/?p=286</a></p><img src ="http://www.cppblog.com/397993401/aggbug/151666.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/397993401/" target="_blank">付翔</a> 2011-07-22 18:05 <a href="http://www.cppblog.com/397993401/archive/2011/07/22/151666.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu网络连接显示”设备未托管”解决方法</title><link>http://www.cppblog.com/397993401/archive/2011/07/16/151182.html</link><dc:creator>付翔</dc:creator><author>付翔</author><pubDate>Sat, 16 Jul 2011 10:27:00 GMT</pubDate><guid>http://www.cppblog.com/397993401/archive/2011/07/16/151182.html</guid><wfw:comment>http://www.cppblog.com/397993401/comments/151182.html</wfw:comment><comments>http://www.cppblog.com/397993401/archive/2011/07/16/151182.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/397993401/comments/commentRss/151182.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/397993401/services/trackbacks/151182.html</trackback:ping><description><![CDATA[<span style="color: #333333; font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; "><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">ubuntu网络连接显示&#8221;设备未托管&#8221;解决方法</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">之前就遇到过这个问题，一直都没有去解决，这次是因为试着用虚拟机宽带连接进行上网设置，没有成功，后来导致NAT 也不行，并且发现&nbsp;<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">网络连接显示&#8221;设备未托管&#8221; ,&nbsp;</strong>一直以为是虚拟机的网络设置的问题，后来证实：之前宽带连接我设置了&nbsp;pppoeconf ，因为pppoe修改了dns导致的。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; "><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">造成问题的原因</strong><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">：</strong><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; "></strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; "><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; "></strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; "><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">Linux</strong><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">里面有两套管理网络连接的方案：</strong><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />1、/etc/network/interfaces（/etc/init.d/networking）<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />2、Network-Manager</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; "><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; text-decoration: underline; ">两套方案是冲突的，不能同时共存。</span></strong><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">第一个方案</strong>适用于没有X的环境，如：服务器；或者那些完全不需要改动连接的场合。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">第二套方案</strong>使用于有桌面的环境，特别是笔记本，搬来搬去，网络连接情况随时会变的。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">－－－－－－－－－－－－－<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />他们两个为了避免冲突，又能共享配置，就有了下面的解决方案：<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />1、<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">当</strong><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">Network-Manager</strong><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">发现</strong><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">/etc/network/interfaces</strong><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">被改动的时候，则关闭自己（显示为未托管），除非</strong><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">managed</strong><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">设置成真。</strong><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />2、当managed设置成真时，/etc/network/interfaces，则不生效。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; "><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">ubuntu</strong><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">网络显示设备未托管的解决办法</strong><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; "></strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">在终端下执行</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">sudo gedit /etc/NetworkManager/nm-system-settings.conf</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">&#8220;managed=false&#8221;改为&#8220;managed=true&#8221;，重启电脑就可以。 真的是坑爹啊</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">同时 我之前一篇文章&nbsp;<a href="http://www.fuxiang90.me/2011/07/vm-linux%E8%99%9A%E6%8B%9F%E6%9C%BA-%E5%92%8C%E4%B8%BB%E6%9C%BA%E8%BF%9B%E8%A1%8Cftp%E8%BF%9E%E6%8E%A5/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; color: #333333; text-decoration: underline; outline-style: none; outline-width: initial; outline-color: initial; ">http://www.fuxiang90.me/2011/07/vm-linux%E8%99%9A%E6%8B%9F%E6%9C%BA-%E5%92%8C%E4%B8%BB%E6%9C%BA%E8%BF%9B%E8%A1%8Cftp%E8%BF%9E%E6%8E%A5/</a></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">虚拟机上网要进行<a href="http://www.fuxiang90.me/wp-content/uploads/2011/07/VW.jpg" rel="lightbox[252]" title="VW.jpg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; color: #333333; text-decoration: underline; outline-style: none; outline-width: initial; outline-color: initial; "><img size-full=""  wp-image-205"="" title="VW.jpg" src="http://www.fuxiang90.me/wp-content/uploads/2011/07/VW.jpg" alt="" width="365" height="330" style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-width: initial; border-color: initial; max-width: 610px; height: auto; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; background-position: initial initial; background-repeat: initial initial; " /></a></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; color: #ff0000; "><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; ">这一步 其实也是没有必要的 。伤不起啊</strong></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">参考：&nbsp;<a href="http://tieba.baidu.com/f?kz=740913480" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; color: #333333; text-decoration: underline; outline-style: none; outline-width: initial; outline-color: initial; ">http://tieba.baidu.com/f?kz=740913480</a></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; "><a href="http://www.ubuntuhome.com/ubuntu-networkmanager.html" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; color: #333333; text-decoration: underline; outline-style: none; outline-width: initial; outline-color: initial; ">http://www.ubuntuhome.com/ubuntu-networkmanager.html</a></p></span><img src ="http://www.cppblog.com/397993401/aggbug/151182.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/397993401/" target="_blank">付翔</a> 2011-07-16 18:27 <a href="http://www.cppblog.com/397993401/archive/2011/07/16/151182.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>putty如何支持中文</title><link>http://www.cppblog.com/397993401/archive/2011/07/16/151181.html</link><dc:creator>付翔</dc:creator><author>付翔</author><pubDate>Sat, 16 Jul 2011 10:25:00 GMT</pubDate><guid>http://www.cppblog.com/397993401/archive/2011/07/16/151181.html</guid><wfw:comment>http://www.cppblog.com/397993401/comments/151181.html</wfw:comment><comments>http://www.cppblog.com/397993401/archive/2011/07/16/151181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/397993401/comments/commentRss/151181.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/397993401/services/trackbacks/151181.html</trackback:ping><description><![CDATA[<div><span style="color: #333333; font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: normal; "><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">今天开始跟着网络视频学习，之前说过使用putty远程登入linux，但是发现中文是乱码，</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">解决办法：首先登入 输入 echo $LANG 查看linux所使用的中文字体，然后再窗口的标题上单机右键，修改配置 窗口-&gt;转换-&gt;远程字符集，选择和linux相对应的字体，一般都是uft-8.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">puttycn 中文下载 ，<a href="http://code.google.com/p/puttycn/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; color: #333333; text-decoration: underline; outline-style: none; outline-width: initial; outline-color: initial; ">点击</a></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">参考：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; "><a href="http://wenku.baidu.com/view/c590eb8ca0116c175f0e484e.html" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; color: #333333; text-decoration: underline; outline-style: none; outline-width: initial; outline-color: initial; ">http://wenku.baidu.com/view/c590eb8ca0116c175f0e484e.html</a></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; "><a href="http://linux.chinaunix.net/techdoc/desktop/2009/03/31/1106396.shtml" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; color: #333333; text-decoration: underline; outline-style: none; outline-width: initial; outline-color: initial; ">http://linux.chinaunix.net/techdoc/desktop/2009/03/31/1106396.shtml&nbsp;<br /><br /><br />独立</a>博客地址&nbsp;<span class="Apple-style-span" style="font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; color: #000000; "><a href="http://www.fuxiang90.me/2011/07/putty%E5%A6%82%E4%BD%95%E6%94%AF%E6%8C%81%E4%B8%AD%E6%96%87/">http://www.fuxiang90.me/2011/07/putty%E5%A6%82%E4%BD%95%E6%94%AF%E6%8C%81%E4%B8%AD%E6%96%87/<br /><br /></a></span></p></span></div><img src ="http://www.cppblog.com/397993401/aggbug/151181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/397993401/" target="_blank">付翔</a> 2011-07-16 18:25 <a href="http://www.cppblog.com/397993401/archive/2011/07/16/151181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>redhat ifconfig不能用的解决办法</title><link>http://www.cppblog.com/397993401/archive/2011/07/16/151180.html</link><dc:creator>付翔</dc:creator><author>付翔</author><pubDate>Sat, 16 Jul 2011 10:23:00 GMT</pubDate><guid>http://www.cppblog.com/397993401/archive/2011/07/16/151180.html</guid><wfw:comment>http://www.cppblog.com/397993401/comments/151180.html</wfw:comment><comments>http://www.cppblog.com/397993401/archive/2011/07/16/151180.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/397993401/comments/commentRss/151180.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/397993401/services/trackbacks/151180.html</trackback:ping><description><![CDATA[<span style="color: #333333; font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; "><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">今天赶星老师讲解了在centos下网络配置文件的修改 == ，ubuntu 下有些不一样，于是下午我就打开redhat 的虚拟机，准备尝试下，结果发现 ifconfig 不能用，切换到root 也不能用。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">后来发现 在/sbin 目录下有ifconfig ，表明bash 没有去这里找,那么 export&nbsp; PATH=$PATH:/sbin</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; line-height: 18px; ">或者 在/etc/profile 里 加上PATH=$PATH:/sbin&nbsp;&nbsp; ，这样就可以执行 ifconfig 了<br /><br />独立博客<a href="http://www.fuxiang90.me/2011/07/redhat-ifconfig%E4%B8%8D%E8%83%BD%E7%94%A8%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">&nbsp;</a><span class="Apple-style-span" style="font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; color: #000000; "><a href="http://www.fuxiang90.me/2011/07/redhat-ifconfig%E4%B8%8D%E8%83%BD%E7%94%A8%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">http://www.fuxiang90.me/2011/07/redhat-ifconfig%E4%B8%8D%E8%83%BD%E7%94%A8%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/<br /></a></span>欢迎访问交流&nbsp;<a href="http://www.fuxiang90.me/2011/07/redhat-ifconfig%E4%B8%8D%E8%83%BD%E7%94%A8%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/"></a></p></span><img src ="http://www.cppblog.com/397993401/aggbug/151180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/397993401/" target="_blank">付翔</a> 2011-07-16 18:23 <a href="http://www.cppblog.com/397993401/archive/2011/07/16/151180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ssh 登入虚拟机linux</title><link>http://www.cppblog.com/397993401/archive/2011/07/16/151171.html</link><dc:creator>付翔</dc:creator><author>付翔</author><pubDate>Sat, 16 Jul 2011 08:41:00 GMT</pubDate><guid>http://www.cppblog.com/397993401/archive/2011/07/16/151171.html</guid><wfw:comment>http://www.cppblog.com/397993401/comments/151171.html</wfw:comment><comments>http://www.cppblog.com/397993401/archive/2011/07/16/151171.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/397993401/comments/commentRss/151171.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/397993401/services/trackbacks/151171.html</trackback:ping><description><![CDATA[<p>之前写过如何和主机xp 建立局域网，并且NAT 共享上网 ：<a href="http://www.fuxiang90.me/2011/07/vmware%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%92%8C%E4%B8%BB%E6%9C%BA%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6%E5%A4%B9/">详情点击</a> 。</p> <p>自己的电脑只有１Ｇ 的内存，有时学习看视频还是喜欢在ｘｐ下弄，然后用ｓｓｈ 登入ｌｉｎｕｘ系统进行操作，我发现ubuntu 10 每次跑的时候 也只是需要200M的内存，当然是没有运行时候大程序，所以我配置linux的虚拟内存为312 M ，实践证明够用。</p> <p><a href="http://www.cppblog.com/images/cppblog_com/397993401/WindowsLiveWriter/sshlinux_FD7B/ubuntu%2010%20%E8%99%9A%E6%8B%9F%E6%9C%BA%E9%85%8D%E7%BD%AE_2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ubuntu 10 虚拟机配置" border="0" alt="ubuntu 10 虚拟机配置" src="http://www.cppblog.com/images/cppblog_com/397993401/WindowsLiveWriter/sshlinux_FD7B/ubuntu%2010%20%E8%99%9A%E6%8B%9F%E6%9C%BA%E9%85%8D%E7%BD%AE_thumb.jpg" width="415" height="186"></a> </p> <p>下次试试开两个虚拟机，准备跟着网上的教程 （赶星老师） ，进行学习，如果不使用putty,老是要切换到虚拟机界面进行操作，电脑反应有时会比较迟钝。所以使用putty 进行登入操作，确实不错。</p><img src ="http://www.cppblog.com/397993401/aggbug/151171.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/397993401/" target="_blank">付翔</a> 2011-07-16 16:41 <a href="http://www.cppblog.com/397993401/archive/2011/07/16/151171.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>