﻿<?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>BlogJava-╰⊙д⊙╯。oо○ -最新评论</title><link>http://www.blogjava.net/dreamingnest/CommentsRSS.aspx</link><description>面朝大海·春暖花开</description><language>zh-cn</language><pubDate>Sun, 12 Oct 2008 09:33:45 GMT</pubDate><lastBuildDate>Sun, 12 Oct 2008 09:33:45 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: BFS和DFS两种方法获取指定目录下的所有目录和文件</title><link>http://www.blogjava.net/dreamingnest/archive/2008/07/16/201424.html#215290</link><dc:creator>fejay</dc:creator><author>fejay</author><pubDate>Wed, 16 Jul 2008 11:23:00 GMT</pubDate><guid>http://www.blogjava.net/dreamingnest/archive/2008/07/16/201424.html#215290</guid><description><![CDATA[ 学习了<img src ="http://www.blogjava.net/dreamingnest/aggbug/215290.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamingnest/" target="_blank">fejay</a> 2008-07-16 19:23 <a href="http://www.blogjava.net/dreamingnest/archive/2008/07/16/201424.html#215290#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 关于蚂蚁问题（Ants）</title><link>http://www.blogjava.net/dreamingnest/archive/2008/06/12/199672.html#207414</link><dc:creator>zdh</dc:creator><author>zdh</author><pubDate>Thu, 12 Jun 2008 08:06:00 GMT</pubDate><guid>http://www.blogjava.net/dreamingnest/archive/2008/06/12/199672.html#207414</guid><description><![CDATA[实际过程可以这么进行抽象模拟:<br> 序列中的元素带有方向，进行负值部分移动到负值区域，正值部分移动到正值区域时就不再发生碰撞，此时绝对值最小的值决定剩余爬行时间<img src ="http://www.blogjava.net/dreamingnest/aggbug/207414.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamingnest/" target="_blank">zdh</a> 2008-06-12 16:06 <a href="http://www.blogjava.net/dreamingnest/archive/2008/06/12/199672.html#207414#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 关于蚂蚁问题（Ants）</title><link>http://www.blogjava.net/dreamingnest/archive/2008/06/12/199672.html#207412</link><dc:creator>zdh</dc:creator><author>zdh</author><pubDate>Thu, 12 Jun 2008 08:00:00 GMT</pubDate><guid>http://www.blogjava.net/dreamingnest/archive/2008/06/12/199672.html#207412</guid><description><![CDATA[这个问题看到实质就很简单，所有的蚂蚁都是相同的蚂蚁，因此可以看成所有的蚂蚁都可以穿过对面爬过来的蚂蚁就ok啦，最长时间就是两端的蚂蚁向另一端爬出去，最短的就是两端的四个蚂蚁向所在端爬出：）<img src ="http://www.blogjava.net/dreamingnest/aggbug/207412.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamingnest/" target="_blank">zdh</a> 2008-06-12 16:00 <a href="http://www.blogjava.net/dreamingnest/archive/2008/06/12/199672.html#207412#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 关于蚂蚁问题（Ants）</title><link>http://www.blogjava.net/dreamingnest/archive/2008/05/12/199672.html#200034</link><dc:creator>blues</dc:creator><author>blues</author><pubDate>Mon, 12 May 2008 07:53:00 GMT</pubDate><guid>http://www.blogjava.net/dreamingnest/archive/2008/05/12/199672.html#200034</guid><description><![CDATA[二楼的数学式和证明我觉得有点晕，没细看。 原理应该也一样<br>至于为什么说27-3是最长，我中间跳跃一些而已。 <br>就是观察分析了两端的蚂蚁后说的， A离左边3， E离右边4。<br>所以最长就是27-3=24。 上一句分析我省略了而已，SORRY。<br><br>最短：<br>我只是将五个蚂蚁的最短时间列出来而已， 最长时间列出来没意义了。<br>如果用式子总结便是： 最靠近杆中间点的那个蚂蚁的最短时间，即C距离左边。<br><br><br>@dreamingnest<br><img src ="http://www.blogjava.net/dreamingnest/aggbug/200034.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamingnest/" target="_blank">blues</a> 2008-05-12 15:53 <a href="http://www.blogjava.net/dreamingnest/archive/2008/05/12/199672.html#200034#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 关于蚂蚁问题（Ants）</title><link>http://www.blogjava.net/dreamingnest/archive/2008/05/12/199672.html#200028</link><dc:creator>dreamingnest</dc:creator><author>dreamingnest</author><pubDate>Mon, 12 May 2008 07:26:00 GMT</pubDate><guid>http://www.blogjava.net/dreamingnest/archive/2008/05/12/199672.html#200028</guid><description><![CDATA[你为什么确定27-3=24是便是最长的呢？我觉得你说的“即所有蚂蚁中离杆其中一端最远的那只蚂蚁，即为最长时间”和“所有蚂蚁使用时间：A最短是3， B最短是7， C最短11， D最短是10， E最短是4”中的两个“所有”和我解释的还不太一样，呵呵。<br><br>&#183;最长时间：是按照你说的“蚂蚁不调头，即擦肩而过，继续沿原来方向前进（与调头是一样的，只是换了一只蚂蚁而已）”这样，但有两点说明：（1）通过分析，我们只需判断最两端的两只蚂蚁便足够了，证明见二楼“银河使者”的解释。（2）一定要求出4个数进行比较后才可以，假设最左端和最右端的位置为L和R，中长度为T，那么最长的时间为max(max(L,T-L),max(R,T-R))。<br><br>&#183;最短时间：通过分析后，也只需看最中间的一个（共奇数蚂蚁）或两个（共偶数蚂蚁）蚂蚁到达某一端的最短时间，对于奇数：min(L,T-L)，对于偶数：max(min(L,T-L),min(R,T-R))。<br><br>&#183;通过程序来实现是有必要的，这算是一道模拟题目，可在情况类似的计算应用中会遇到，正如英文描述中可能出现1000000数量级别的，这样我们便无法直接得出结果。此题能作为面试题，而不是笔试题，就是在考察一种思想，避开“一根不能同时通过两只蚂蚁”的迷惑。<br><br>&#183;感谢大家能仔细讨论这个问题，写程序相信每个人都能实现，只是这道题给我们的启发是非常大的～<img src ="http://www.blogjava.net/dreamingnest/aggbug/200028.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamingnest/" target="_blank">dreamingnest</a> 2008-05-12 15:26 <a href="http://www.blogjava.net/dreamingnest/archive/2008/05/12/199672.html#200028#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 关于蚂蚁问题（Ants）</title><link>http://www.blogjava.net/dreamingnest/archive/2008/05/12/199672.html#200007</link><dc:creator>blues</dc:creator><author>blues</author><pubDate>Mon, 12 May 2008 06:22:00 GMT</pubDate><guid>http://www.blogjava.net/dreamingnest/archive/2008/05/12/199672.html#200007</guid><description><![CDATA[其实楼主的思想比较好，本人觉得这种题目根本不需要用程序来计算，<br>我认为还有更好的方法，我在原文给出了最长时间的分析。<br>这里我加上最短时间分析：<br><br>其实文中蚂蚁相撞两蚂蚁调头 <br>可以这样看问题，如果相撞后，杆可以过两只蚂蚁 <br>蚂蚁不调头，即擦肩而过，继续沿原来方向前进（与调头是一样的，只是换了一只蚂蚁而已） <br>这样问题就简化了，呵呵。 <br>即所有蚂蚁中离杆其中一端最远的那只蚂蚁，即为最长时间。 <br>即27-3=24 <br><br>同理，最短时间为<br>所有蚂蚁使用时间：A最短是3， B最短是7， C最短11， D最短是10， E最短是4。<br>所以总的最短时间为11.<br><br>不知道小弟的思路是否正确？~~~~<br><img src ="http://www.blogjava.net/dreamingnest/aggbug/200007.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamingnest/" target="_blank">blues</a> 2008-05-12 14:22 <a href="http://www.blogjava.net/dreamingnest/archive/2008/05/12/199672.html#200007#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 关于蚂蚁问题（Ants）</title><link>http://www.blogjava.net/dreamingnest/archive/2008/05/10/199672.html#199704</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Sat, 10 May 2008 06:14:00 GMT</pubDate><guid>http://www.blogjava.net/dreamingnest/archive/2008/05/10/199672.html#199704</guid><description><![CDATA[楼主这个想法非常的好，打满分。<br>    下面用数学归纳法证明一下这个算法。让我们先来看最简单的形式（m=1)，有两只蚂蚁的情况，假设细木杆的长度为n，两只蚂蚁的位置分别为p1和p2。并且p2 &gt; p1。其他的条件如原题。下面分别用p1和p2来代表两只蚂蚁。<br>    <br>    对于两只蚂蚁，方向组合只有四种，分别如下：<br>1. p1、p2都向左  最长时间：time(p2)<br>2. p1、p2都向右  最长时间：time(p1)<br>3. p1向左、p2向右  最长时间：max(time(p1), time(n - p2))<br>4. p1向右、p2向左（这种情况会发生碰撞） <br><br>最长时间：max(time(n - p1), time(p2))<br><br>对于这种情况，实际上p2的时间为time(((p2 - p1) / 2 ) * 2 + n - p2 )= time(n - p1)<br>p1的时间为time(((p2 - p1) / 2 ) * 2  + p1) = time(p2)，<br>从最终结果看，A- >,  < -B  就相当于< -B , A - >   相当于A、B互相穿越而过，并且B只走到A最初的位置，而A也只走到B最初的位置。<br><br>从上面四种情况的最长时间可看出，正好将两种蚂蚁p1和p2可能存在的的四种可能：p1、p2、n - p1、n-p2  。我们要做的就是求这四个值的最大值，即max(time(p1)、time(p2)、time(n - p1)、time(n-p2))。  如果用文字来描述的话，就是任意一只蚂蚁到达两端的最长时间就是最终结果。<br><br>最简单的情况已经ok了，现在假设m只蚂蚁也成立，那么这m只蚂蚁也可以看成是一只蚂蚁，而m+1只蚂蚁当然就相当于两只蚂蚁了。所以<br>m = 1 成立<br>假设m成立<br>而证明了m+1也成立<br>所以“任意一只蚂蚁到达两端的最长时间就是最终结果”的结论成立<img src ="http://www.blogjava.net/dreamingnest/aggbug/199704.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamingnest/" target="_blank">银河使者</a> 2008-05-10 14:14 <a href="http://www.blogjava.net/dreamingnest/archive/2008/05/10/199672.html#199704#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 关于蚂蚁问题（Ants）</title><link>http://www.blogjava.net/dreamingnest/archive/2008/05/10/199672.html#199699</link><dc:creator>漠漠</dc:creator><author>漠漠</author><pubDate>Sat, 10 May 2008 05:29:00 GMT</pubDate><guid>http://www.blogjava.net/dreamingnest/archive/2008/05/10/199672.html#199699</guid><description><![CDATA[确实是这样，我们可以想象成它们碰撞后并没有反向而是继续直着向前走:)<img src ="http://www.blogjava.net/dreamingnest/aggbug/199699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamingnest/" target="_blank">漠漠</a> 2008-05-10 13:29 <a href="http://www.blogjava.net/dreamingnest/archive/2008/05/10/199672.html#199699#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>