<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.liudandan.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.liudandan.com" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/LegendaryDan" type="application/rss+xml"></fs:self_link><lastBuildDate>Sat, 25 Oct 2008 11:23:35 GMT</lastBuildDate><title>我的黄金时代</title><description>Dan\'s Blog</description><link>http://liudandan.com/blog</link><language>en</language><pubDate>Sat, 25 Oct 2008 11:24:23 GMT</pubDate><item><title>把事情做好</title><link>http://item.feedsky.com/~feedsky/LegendaryDan/~6948244/128577402/5056143/1/item.html</link><content:encoded>&lt;p&gt;这几个月都在比较专注的做一个题目，几个月过后，一个听上去很可行的模型在实验中被验证无效。&lt;/p&gt;
&lt;p&gt;回想当初刚拿到这个题目的时候，顿时被题目美好的目标吸引住了。经过初步的调研，我得到了一个错误的直觉，把一个原本很难、广度也相对比较小的题目，当作了一个很少人做的简单而且新颖的题目。然后就开始想尽办法开始炮制自己的模型。经过“不懈努力”终于得到了一个听上去很美的模型和若干华丽的特征。怀着对美好的憧憬，带着要发牛paper的动力，就开始“噼里啪啦”的做一个不小的实验。&lt;/p&gt;
&lt;p&gt;最终，就有了开头提到的结果。&lt;/p&gt;
&lt;p&gt;其实在以前和astroguo师兄讨论的时候，他就提到了这个题目的困难性。而我却打肿脸充胖子的做一些无力的argue。原本就经验不足，再加上求“功”心切，怀着对牛会paper的渴望，抱着一个有些牵强的模型，撞到了墙，虽然又努了努力，想绕过去，却发现其实是个死胡同。&lt;/p&gt;
&lt;p&gt;即使对我这样“一无所有”的家伙，发paper也不应该成为做研究的指挥棒。&lt;br /&gt;
静下心来，纯真一些。&lt;br /&gt;
最后再引用QQ师兄的一句话：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;把事情做好。&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded><wfw:commentRss>http://liudandan.com/blog/2008/10/25/%e6%8a%8a%e4%ba%8b%e6%83%85%e5%81%9a%e5%a5%bd.html/feed</wfw:commentRss><description>这几个月都在比较专注的做一个题目，几个月过后，一个听上去很可行的模型在实验中被验证无效。
回想当初刚拿到这个题目的时候，顿时被题目美好的目标吸引住了。经过初步的调研，我得...</description><category>研究</category><category>Research</category><pubDate>Sat, 25 Oct 2008 19:23:35 +0800</pubDate><author>Dan</author><comments>http://liudandan.com/blog/2008/10/25/%e6%8a%8a%e4%ba%8b%e6%83%85%e5%81%9a%e5%a5%bd.html#comments</comments><guid isPermaLink="false">http://liudandan.com/blog/?p=136</guid><dc:creator>Dan</dc:creator><fs:srclink>http://liudandan.com/blog/2008/10/25/%e6%8a%8a%e4%ba%8b%e6%83%85%e5%81%9a%e5%a5%bd.html</fs:srclink><fs:srcfeed>http://liudandan.com/blog/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/LegendaryDan/~6948244/128577402/5056143</fs:itemid></item><item><title>做研究就像挖坑</title><link>http://item.feedsky.com/~feedsky/LegendaryDan/~6948244/126790424/5056143/1/item.html</link><content:encoded>&lt;p&gt;前天晚上在水房洗衣服时和一个朋友聊天，聊到了做研究。&lt;br /&gt;
其间谈到了实验失败的共同感受。&lt;br /&gt;
朋友做了这样一个比喻：&lt;/p&gt;
&lt;p&gt;
做研究就像挖坑，&lt;br /&gt;
有大牛，眼光敏锐，瞅准了地方，在一个地方挖了个坑，挖到了水，然后拿个桶打上水，到别的地方去灌水；然后众小牛们也都跟着跳进了大牛挖的坑，继续挖坑，打水，灌水，坑越来越深，水越来越少。&lt;br /&gt;
毫无疑问，这些牛们是幸福的。&lt;br /&gt;
如果不幸挖到了石头，就只能把土添回去，然后踩平，再然后拍拍手上的灰，也没有人知道你曾充满热情并努力的挖过这个坑。&lt;/p&gt;</content:encoded><wfw:commentRss>http://liudandan.com/blog/2008/10/21/research.html/feed</wfw:commentRss><description>前天晚上在水房洗衣服时和一个朋友聊天，聊到了做研究。
其间谈到了实验失败的共同感受。
朋友做了这样一个比喻：

做研究就像挖坑，
有大牛，眼光敏锐，瞅准了地方，在一个地方挖了个...</description><category>研究</category><category>Research</category><pubDate>Tue, 21 Oct 2008 17:20:47 +0800</pubDate><author>Dan</author><comments>http://liudandan.com/blog/2008/10/21/research.html#comments</comments><guid isPermaLink="false">http://liudandan.com/blog/?p=129</guid><dc:creator>Dan</dc:creator><fs:srclink>http://liudandan.com/blog/2008/10/21/research.html</fs:srclink><fs:srcfeed>http://liudandan.com/blog/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/LegendaryDan/~6948244/126790424/5056143</fs:itemid></item><item><title>问答那些事儿</title><link>http://item.feedsky.com/~feedsky/LegendaryDan/~6948244/126790425/5056143/1/item.html</link><content:encoded>&lt;blockquote&gt;一个即将进入问答方向的师弟问我有什么问答方向的论文推荐给他看，记得自己刚进入这个领域时也有着很多类似的困惑，虽然只有一年的短浅经历，但我斗胆写下下面的文字，希望这些文字对他以及和我们有着同样困惑的初学者有所帮助。以下的文字不是说教，只是一些经历和思考的片段。&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;在IR、NLP领域中，现在的一般看法，大家都把QA归类为信息检索中的一个Open Problem。因为目前的检索系统都是通过输入一堆关键词，然后系统返回一堆候选结果，而人们更期望于用人类的自然语言提问，来得到一个精确的答案。可能这里的QA任务的来由与AI中的QA系统定义有所区别，但我想算是异曲同工。&lt;/p&gt;
&lt;p&gt;为了完成以上终极目标，或者说为了得到更好的检索效果，人们开始研究NLP技术来帮助改进检索。自然语言处理技术主要分为两大流派，一种是基于规则的方法，即人根据自己的先验知识来手工制定规则；另一种是基于统计的方法，即在大规模的语言现象中，利用机器，自动的统计其中的潜在的规律。基于规则的方法缺点显而易见，需要大量的专家利用大量的人力时间来制定规则，规则也不一定是完备或者正确的，也因为自然语言本身就非常灵活。基于统计的自然语言处理方法随着近些年统计机器学习的发展，而逐渐占据了主流。&lt;/p&gt;
&lt;p&gt;其中，概率与统计、线性代数等构成了统计机器学习的基础。&lt;br /&gt;
另外，统计机器学习中一大类问题是讨论模式分类。 综上，我们可以得到下面的一幅图。无箭头的边代表包含关系，有箭头的边代表支持关系。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.liudandan.com/images/1.jpg&quot; width=&quot;507&quot; height=&quot;118&quot; /&gt;&lt;/p&gt;
&lt;p&gt;关于自然语言处理、统计机器学习和概率三者的关系存在着这样一个笑话式的说法：三流的统计学家做机器学习，三流的机器学习专家做自然语言处理。我也时常在反思并与前辈、同僚们进行讨论，我们所从事的事情，是否只是因为工业界经济效益的带动，而形成的一个华丽的坑。我们在做这样的应用研究时，总是会存在这样一个“模式”，拿到某个问题，然后对其进行观察、分析，建立模型，而这个模型的理论、求解等通常都已经是机器学习专家、数学家为我们解决了的。因此我们不免会担心，离这些基础远了，我们所做的事情是否只是高劳动力低价值、低影响力的，是否只有去做那些基础科学能产生很大影响力的学问才算做是有价值的呢，甚至我们所做的事情是否属于伪科学。然而以我目前浅薄的眼光来看，应用研究，观察与抽象出事物的本质是最关键的，我更愿意把它称作为一门实验科学。我觉得以上疑问可以在与物理对人类进步的推动、数学和物理的关系进行类比来得到一个答案。信息检索、自然语言处理不就正在改变人们的生活么？随着基础设施的完善，也许我们会距离终极目标越来越近。&lt;/p&gt;
&lt;p&gt;QA是一个异常困难、庞大的题目，因此人们尝试开始从各个方面来攻克它。以TREC为例，在TREC的QA main Task中，有Factorid QA、List QA、Definitional QA三种相对来讲比较简单的subtask。然而这三种QA所覆盖的范围也远小于实际中的QA所包含的各种形式。起初我在知道自己以后要做QA的时候，感觉到有些诚惶诚恐，认为这几乎就是一个美丽的泥潭，寸步难行。但是进入这个领域一年以后，我又有了不同的看法。我认为QA，在现有的条件下，可以多做一些tractable的工作。跟踪一下近几年IR/NLP related top conferences中有关QA的论文，我们不难发现，一些新的贴近应用的QA任务被提出，其中不少都是extraction problem。碰巧的是我最近做的两个工作也都是extraction based method。似乎，这样看来这类QA多了些Data Mining的味道，呵呵。&lt;/p&gt;
&lt;p&gt;因为QA任务本身的特点，导致有关QA的论文，关于各种问题的，很多、很杂。所以，如果没有什么目的性的看QA论文，就犹如同大海捞针。因此，我认为可以不用太着急看QA的论文，不妨先打好上面说的那些基础。有了比较明确的题目后，再来有针对性的阅读论文。当然，这不是一个规定好的顺序，我们也不可能总是以这样一个理想的方式去学习、做研究。book driven、task drivern、paper driven，我们更多的是在这样一个混合的滚雪球的方式中沉淀、成长。&lt;/p&gt;
&lt;p&gt;最后，我推荐个书单吧（前两本我也没看过，从Dahua Lin的blog里看来的推荐，打算最近开始读）:&lt;br /&gt;
[Gilbert Strang] Introduction to Linear Algebra (3rd Ed.)&lt;/p&gt;
&lt;p&gt;[V.N.Vapnik] The Nature of Statistical Learning Theory&lt;br /&gt;
统计学习理论的本质&lt;/p&gt;
&lt;p&gt;[Duda et al] Pattern Classification (2nd Ed.)&lt;br /&gt;
模式分类&lt;/p&gt;
&lt;p&gt;[Mitchell] Machine Learning&lt;br /&gt;
机器学习&lt;/p&gt;
&lt;p&gt;[D.Manning et al] An Introduction to Information Retrieval&lt;/p&gt;
&lt;p&gt;[D.Manning et al] Foundations of Statistical Natural Language Processing&lt;br /&gt;
统计自然语言处理基础&lt;/p&gt;
&lt;p&gt;[J.Han et al] Data Mining Concepts and Techniques (2nd Ed.)&lt;br /&gt;
数据挖掘概念与技术&lt;/p&gt;
&lt;p&gt;还有一篇众牛合写的QA survey：&lt;br /&gt;
[John Burger et al] Issues, Tasks and Program Structures to Roadmap Research in Question &amp;amp; Answering (Q&amp;amp;A)&lt;/p&gt;</content:encoded><wfw:commentRss>http://liudandan.com/blog/2008/09/06/%e9%97%ae%e7%ad%94%e9%82%a3%e4%ba%9b%e4%ba%8b%e5%84%bf.html/feed</wfw:commentRss><description>一个即将进入问答方向的师弟问我有什么问答方向的论文推荐给他看，记得自己刚进入这个领域时也有着很多类似的困惑，虽然只有一年的短浅经历，但我斗胆写下下面的文字，希望这些文字...</description><category>IR/NLP</category><pubDate>Sat, 06 Sep 2008 14:56:07 +0800</pubDate><author>Dan</author><comments>http://liudandan.com/blog/2008/09/06/%e9%97%ae%e7%ad%94%e9%82%a3%e4%ba%9b%e4%ba%8b%e5%84%bf.html#comments</comments><guid isPermaLink="false">http://liudandan.com/blog/2008/09/06/%e9%97%ae%e7%ad%94%e9%82%a3%e4%ba%9b%e4%ba%8b%e5%84%bf.html</guid><dc:creator>Dan</dc:creator><fs:srclink>http://liudandan.com/blog/2008/09/06/%e9%97%ae%e7%ad%94%e9%82%a3%e4%ba%9b%e4%ba%8b%e5%84%bf.html</fs:srclink><fs:srcfeed>http://liudandan.com/blog/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/LegendaryDan/~6948244/126790425/5056143</fs:itemid></item><item><title>1/11</title><link>http://item.feedsky.com/~feedsky/LegendaryDan/~6948244/126790426/5056143/1/item.html</link><content:encoded>&lt;p&gt;背起行囊，踏遍南北。&lt;/p&gt;
&lt;p&gt;今天，我为自己许下一个愿望。&lt;/p&gt;</content:encoded><wfw:commentRss>http://liudandan.com/blog/2008/07/22/111.html/feed</wfw:commentRss><description>背起行囊，踏遍南北。
今天，我为自己许下一个愿望。...</description><category>Life</category><pubDate>Tue, 22 Jul 2008 02:01:31 +0800</pubDate><author>Dan</author><comments>http://liudandan.com/blog/2008/07/22/111.html#comments</comments><guid isPermaLink="false">http://liudandan.com/blog/2008/07/22/111.html</guid><dc:creator>Dan</dc:creator><fs:srclink>http://liudandan.com/blog/2008/07/22/111.html</fs:srclink><fs:srcfeed>http://liudandan.com/blog/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/LegendaryDan/~6948244/126790426/5056143</fs:itemid></item><item><title>为什么呢？</title><link>http://item.feedsky.com/~feedsky/LegendaryDan/~6948244/126790427/5056143/1/item.html</link><content:encoded>&lt;p&gt;因为，我热爱我的事业，&lt;/p&gt;
&lt;p&gt;同样，我也热爱我的生活。&lt;/p&gt;</content:encoded><wfw:commentRss>http://liudandan.com/blog/2008/07/08/%e4%b8%ba%e4%bb%80%e4%b9%88%e5%91%a2%ef%bc%9f.html/feed</wfw:commentRss><description>因为，我热爱我的事业，
同样，我也热爱我的生活。...</description><category>Life</category><pubDate>Tue, 08 Jul 2008 19:46:01 +0800</pubDate><author>Dan</author><comments>http://liudandan.com/blog/2008/07/08/%e4%b8%ba%e4%bb%80%e4%b9%88%e5%91%a2%ef%bc%9f.html#comments</comments><guid isPermaLink="false">http://liudandan.com/blog/2008/07/08/%e4%b8%ba%e4%bb%80%e4%b9%88%e5%91%a2%ef%bc%9f.html</guid><dc:creator>Dan</dc:creator><fs:srclink>http://liudandan.com/blog/2008/07/08/%e4%b8%ba%e4%bb%80%e4%b9%88%e5%91%a2%ef%bc%9f.html</fs:srclink><fs:srcfeed>http://liudandan.com/blog/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/LegendaryDan/~6948244/126790427/5056143</fs:itemid></item><item><title>无题</title><link>http://item.feedsky.com/~feedsky/LegendaryDan/~6948244/126790428/5056143/1/item.html</link><content:encoded>&lt;p&gt;又生病了，躺在床上，想的事情自然也就多起来。&lt;/p&gt;
&lt;p&gt;这一年多的时间，有收获，也有很多遗憾。&lt;/p&gt;
&lt;p&gt;可能是自己一直以来的习惯，亦或者是性格使然，使得自己太过专注于一件事情，疯狂的压榨着自己。虽然败的一塌糊涂，但没有关系，因为对的起自己。已经平静了许多，至少回过头来，这仍然是一份经历。&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“人要有勇气去改变那些能够改变的事情，有涵养去接受那些不能改变的事情，有智慧去区分哪些是能够改变的、哪些是不能改变的。”&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;这其中，自己也犯下了错误，当生活单调到没有任何色彩，我想这已经不是好的生活了。&lt;br /&gt;
其实我应该可以做更多更有意义的事情。&lt;/p&gt;
&lt;p&gt;一直以来，我以为，我最大的幸运就是，总是能跟着自己的意愿和兴趣而走，但却没有意识到事实上缺少了一个长期的规划。&lt;br /&gt;
第一次变得这么优柔寡断。&lt;br /&gt;
虽然做决定的时候，我是会犹豫的，因为我总是希望找出一个最大的成功概率。&lt;br /&gt;
但是决定做了，我是不会后悔的。&lt;/p&gt;
&lt;p&gt;做决定，做选择之前，甚至做事情之前，我总喜欢给自己扣上一座山，其实又何必总给自己这么大的压力呢。&lt;br /&gt;
记得我以前在开导别人时，总会说：&lt;br /&gt;
“现在回头想想你许久以前遇到的困难，哪一个不是微微一笑就过去的呢？”&lt;br /&gt;
所以不要总给自己背上太多的包袱，因为我们还年轻。&lt;br /&gt;
我们不应抱着游戏的态度而人生，但人生却是场游戏，我们应该学会去体验和享受其中。&lt;/p&gt;
&lt;p&gt;最近又把喜剧之王翻出来看了一遍。&lt;br /&gt;
不论是跑龙套的，还是主角，我都热爱我的这份事业，更重要的是，这是我自己的生活。&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“其实，我是一个胖子。”&lt;/p&gt;&lt;/blockquote&gt;</content:encoded><wfw:commentRss>http://liudandan.com/blog/2008/06/07/%e6%97%a0%e9%a2%98-5.html/feed</wfw:commentRss><description>又生病了，躺在床上，想的事情自然也就多起来。
这一年多的时间，有收获，也有很多遗憾。
可能是自己一直以来的习惯，亦或者是性格使然，使得自己太过专注于一件事情，疯狂的压榨着自...</description><category>Life</category><pubDate>Sat, 07 Jun 2008 16:37:26 +0800</pubDate><author>Dan</author><comments>http://liudandan.com/blog/2008/06/07/%e6%97%a0%e9%a2%98-5.html#comments</comments><guid isPermaLink="false">http://liudandan.com/blog/2008/06/07/%e6%97%a0%e9%a2%98-5.html</guid><dc:creator>Dan</dc:creator><fs:srclink>http://liudandan.com/blog/2008/06/07/%e6%97%a0%e9%a2%98-5.html</fs:srclink><fs:srcfeed>http://liudandan.com/blog/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/LegendaryDan/~6948244/126790428/5056143</fs:itemid></item><item><title>囧</title><link>http://item.feedsky.com/~feedsky/LegendaryDan/~6948244/126790429/5056143/1/item.html</link><content:encoded>&lt;p&gt;哈尔滨创下了47年来的同期最高气温。&lt;br /&gt;
昨晚回到寝室后，&lt;br /&gt;
有些口渴，&lt;br /&gt;
于是乎去公寓楼下的小卖铺 ，&lt;br /&gt;
购得一支冰棍，红豆沙的。&lt;br /&gt;
拿到楼上后方才看到生产日期是去年夏天，&lt;br /&gt;
不过保质期18个月，还能吃。&lt;/p&gt;
&lt;p&gt;拆开包装，&lt;br /&gt;
……&lt;br /&gt;
结果嘴唇被粘在了冰棍上（可能是冷冻太久的缘故吧-_-），&lt;br /&gt;
忍着阵痛，将嘴唇与冰棍分离开来。&lt;br /&gt;
发现嘴唇上流出的血已经在冰棍上留下了很大的印记。&lt;/p&gt;
&lt;p&gt;寝室兄弟看到冰棍上有红印，&lt;br /&gt;
惊呼：“我靠，你这冰棍还盖红章子呢！”&lt;br /&gt;
&lt;span id=&quot;more-120&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;纪念那些只能绽放一日的桃花，&lt;br /&gt;
特改诗一首：&lt;/p&gt;
&lt;p&gt;昨日今时此路上，&lt;br /&gt;
人面桃花相映红。&lt;br /&gt;
桃花不知何处去，&lt;br /&gt;
人面依旧笑春风。&lt;/p&gt;</content:encoded><wfw:commentRss>http://liudandan.com/blog/2008/04/20/%e5%9b%a7.html/feed</wfw:commentRss><description>哈尔滨创下了47年来的同期最高气温。
昨晚回到寝室后，
有些口渴，
于是乎去公寓楼下的小卖铺 ，
购得一支冰棍，红豆沙的。
拿到楼上后方才看到生产日期是去年夏天，
不过保质期18个月，...</description><category>Life</category><pubDate>Sun, 20 Apr 2008 19:09:53 +0800</pubDate><author>Dan</author><comments>http://liudandan.com/blog/2008/04/20/%e5%9b%a7.html#comments</comments><guid isPermaLink="false">http://liudandan.com/blog/2008/04/20/%e5%9b%a7.html</guid><dc:creator>Dan</dc:creator><fs:srclink>http://liudandan.com/blog/2008/04/20/%e5%9b%a7.html</fs:srclink><fs:srcfeed>http://liudandan.com/blog/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/LegendaryDan/~6948244/126790429/5056143</fs:itemid></item><item><title>TSP/Bitonic Tour</title><link>http://item.feedsky.com/~feedsky/LegendaryDan/~6948244/126790430/5056143/1/item.html</link><content:encoded>&lt;p&gt;poj 2817 WordStack&lt;/p&gt;
&lt;p&gt;先枚举预处理每两个单词之间的最大值。&lt;br /&gt;
然后易看出是要寻找一条遍历所有顶点一遍的最长路径，也即找到一条最长的Hamilton Path。(TSP问题)&lt;/p&gt;
&lt;p&gt;状态为d[state][last]，代表遍历了state这些点，并且最后一个点为last时，最长的Hamilton Path。&lt;br /&gt;
状态方程为：d[state][last] = d[state-(1&amp;lt;&amp;lt;i)][i] + w[i][last] ( (i!=last) &amp;amp;&amp;amp; ((1&amp;lt;&amp;lt;i)&amp;amp;state) )&lt;/p&gt;
&lt;p&gt;poj 2677 Tour&lt;/p&gt;
&lt;p&gt;TSP问题简化版，又称为bitonic tour。（参见算法导论习题15-1）&lt;/p&gt;
&lt;p&gt;不妨将问题看作两个人同时从左向右走，并且两个人走过所有的点，且两人走过的点均不同，求两人走过的路径之和最短解。&lt;br /&gt;
状态为d[i][j]，代表了第一个人走到点i，第二个人走到点j，并且i&amp;gt;j，且i之前（包括i）的所有点均被走过，最短路径和。&lt;br /&gt;
状态方程为：&lt;br /&gt;
(1) i==j+1，d[i][j] = d[j][k] + w[k][i] ( 0&amp;lt;=k&amp;lt;j )&lt;br /&gt;
(2) i&amp;gt;j+1，d[i][j] = d[i-1][j] + w[i-1][i]&lt;/p&gt;</content:encoded><wfw:commentRss>http://liudandan.com/blog/2008/03/29/tspbitonic-tour.html/feed</wfw:commentRss><description>poj 2817 WordStack
先枚举预处理每两个单词之间的最大值。
然后易看出是要寻找一条遍历所有顶点一遍的最长路径，也即找到一条最长的Hamilton Path。(TSP问题)
状态为d[state][last]，代表遍历了state这...</description><category>Algorithm</category><pubDate>Sat, 29 Mar 2008 21:21:56 +0800</pubDate><author>Dan</author><comments>http://liudandan.com/blog/2008/03/29/tspbitonic-tour.html#comments</comments><guid isPermaLink="false">http://liudandan.com/blog/2008/03/29/tspbitonic-tour.html</guid><dc:creator>Dan</dc:creator><fs:srclink>http://liudandan.com/blog/2008/03/29/tspbitonic-tour.html</fs:srclink><fs:srcfeed>http://liudandan.com/blog/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/LegendaryDan/~6948244/126790430/5056143</fs:itemid></item><item><title>我想…</title><link>http://item.feedsky.com/~feedsky/LegendaryDan/~6948244/126790431/5056143/1/item.html</link><content:encoded>&lt;p&gt;我想换一个两边都能出声的耳麦&amp;#8230;&lt;/p&gt;
&lt;p&gt;我想换双不漏风而且不漏雨的鞋子&amp;#8230;&lt;/p&gt;
&lt;p&gt;我想每天早上都有早饭吃&amp;#8230;&lt;/p&gt;
&lt;p&gt;我想把想读的书读完&amp;#8230;&lt;/p&gt;
&lt;p&gt;我想尽情的做有意义的research&amp;#8230;&lt;/p&gt;
&lt;p&gt;我还想更新blog，就像现在一样&amp;#8230;.&lt;/p&gt;
&lt;p&gt;我想，我该去做些有意义的事情了&amp;#8230;&lt;/p&gt;
&lt;p&gt;“有意义的事就是好好活；好好活就是做很多很多有意义的事”&lt;/p&gt;</content:encoded><wfw:commentRss>http://liudandan.com/blog/2008/03/28/%e6%88%91%e6%83%b3.html/feed</wfw:commentRss><description>我想换一个两边都能出声的耳麦&amp;#8230;
我想换双不漏风而且不漏雨的鞋子&amp;#8230;
我想每天早上都有早饭吃&amp;#8230;
我想把想读的书读完&amp;#8230;
我想尽情的做有意义的research&amp;#8230;
我还想更新blog，就像...</description><category>Life</category><pubDate>Fri, 28 Mar 2008 21:10:44 +0800</pubDate><author>Dan</author><comments>http://liudandan.com/blog/2008/03/28/%e6%88%91%e6%83%b3.html#comments</comments><guid isPermaLink="false">http://liudandan.com/blog/2008/03/28/%e6%88%91%e6%83%b3.html</guid><dc:creator>Dan</dc:creator><fs:srclink>http://liudandan.com/blog/2008/03/28/%e6%88%91%e6%83%b3.html</fs:srclink><fs:srcfeed>http://liudandan.com/blog/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/LegendaryDan/~6948244/126790431/5056143</fs:itemid></item><item><title>n个有序集合的并与交</title><link>http://item.feedsky.com/~feedsky/LegendaryDan/~6948244/126790432/5056143/1/item.html</link><content:encoded>&lt;p&gt;(1) n个有序集合求并&lt;br /&gt;
问题定义：设有n个有序数组，arr[i] ( 0&amp;lt;=i&amp;lt;n )，将这n个有序数组归并，得到一个有序数组。&lt;/p&gt;
&lt;p&gt;解法[1]：&lt;br /&gt;
当n=2时，显然，我们只要线性扫描两个数组即可，复杂度O(size(arr[0]) + size(arr[1]))；&lt;br /&gt;
当n&amp;gt;2时，我们可以使用上述方法对有序数组两个两个的进行归并，最终得到一个有序数组。在总的归并过程中，每个元素被操作O(logn)次，因此，总的时间复杂度为O(mlogn)，m = sum(size(arr[i]))， 0&amp;lt;=i&amp;lt;n。&lt;/p&gt;
&lt;p&gt;解法[2]：&lt;br /&gt;
不妨假设有序数组是按照非降序排序的。归并时，使用最小堆。首先将n个数组中的首元素压入最小堆。每次弹出最小堆中的堆顶元素，相当于得到了n个数组中当前处理位置中最小的元素，然后将弹出元素所在数组中的下一个元素压入最小堆。每个元素在最小堆上均被插入和弹出一次，O(logn)，所以总的时间复杂度为O(mlogn)，m = sum(size(arr[i]))， 0&amp;lt;=i&amp;lt;n。&lt;/p&gt;
&lt;p&gt;(2) n个有序集合求交&lt;br /&gt;
问题定义：设有n个有序数组，arr[i] ( 0&amp;lt;=i&amp;lt;n )，将这n个有序数组求交，得到一个有序数组。&lt;/p&gt;
&lt;p&gt;解法：&lt;br /&gt;
对所有数组线性扫描一遍即可。不妨设有序数组是按照非降序排序的。&lt;br /&gt;
设min为所有数组当前被扫描位置的最小值，max为最大。若min==max，则将此值加入新数组。若min!=max，则对每个数组从当前位置起扫描，直至找到第一个大于等于min的数，如此循环。&lt;br /&gt;
时间复杂度为，O(m)，m = sum(size(arr[i]))， 0&amp;lt;=i&amp;lt;n。&lt;/p&gt;
&lt;p&gt;伪码如下：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;cpp&quot;&gt;
	for each arr
		pos[i] = -1

	min = max = 0
	end = false
	while end == false
		if min == max
			for each arr
				++pos[i]
				if pos[i] &gt;= size(arr[i])
					end = true
					break
		else if min != max
			min = max
			for each arr
			while arr[i][pos[i]] &lt; min
				++pos[i]
				if pos[i] &gt;= size(arr[i])
					end = true
					break
			if arr[i][pos[i]] &gt; max
				max = arr[i][pos[i]]
		while end == false
			if min == max
			newarr.add(min)
    &lt;/pre&gt;</content:encoded><wfw:commentRss>http://liudandan.com/blog/2008/03/28/n%e4%b8%aa%e6%9c%89%e5%ba%8f%e9%9b%86%e5%90%88%e7%9a%84%e5%b9%b6%e4%b8%8e%e4%ba%a4.html/feed</wfw:commentRss><description>(1) n个有序集合求并
问题定义：设有n个有序数组，arr[i] ( 0&amp;#60;=i&amp;#60;n )，将这n个有序数组归并，得到一个有序数组。
解法[1]：
当n=2时，显然，我们只要线性扫描两个数组即可，复杂度O(size(arr[0...</description><category>Algorithm</category><pubDate>Fri, 28 Mar 2008 20:06:04 +0800</pubDate><author>Dan</author><comments>http://liudandan.com/blog/2008/03/28/n%e4%b8%aa%e6%9c%89%e5%ba%8f%e9%9b%86%e5%90%88%e7%9a%84%e5%b9%b6%e4%b8%8e%e4%ba%a4.html#comments</comments><guid isPermaLink="false">http://liudandan.com/blog/2008/03/28/n%e4%b8%aa%e6%9c%89%e5%ba%8f%e9%9b%86%e5%90%88%e7%9a%84%e5%b9%b6%e4%b8%8e%e4%ba%a4.html</guid><dc:creator>Dan</dc:creator><fs:srclink>http://liudandan.com/blog/2008/03/28/n%e4%b8%aa%e6%9c%89%e5%ba%8f%e9%9b%86%e5%90%88%e7%9a%84%e5%b9%b6%e4%b8%8e%e4%ba%a4.html</fs:srclink><fs:srcfeed>http://liudandan.com/blog/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/LegendaryDan/~6948244/126790432/5056143</fs:itemid></item></channel></rss>