摘要: 问题:设计一个时间复杂度为O(NlogK)的算法,它能够将K个有序链表合并为一个有序链表,这里的N为所有输入链表包含的总的元素个数分析:该问题为经典的利用堆完成K路归并的问题:当K个序列满足一定的条件(如单调不减或单调不增)时,利用堆实现K路归并使其归并为一个满足相同条件的序列,具体做法如下:1)假... 阅读全文
posted @ 2015-01-30 23:21 Leptus 阅读(726) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2051思路分析:优先级问题,使用优先队列求解;当执行某个任务后,再增加一个任务到队列中,该任务的优先级为执行任务的时间加上其时间间隔,如此反复直到求出前K个执行任务。代码:#include #include using namespac... 阅读全文
posted @ 2015-01-30 21:55 Leptus 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3630思路分析:求在字符串中是否存在某个字符串为另一字符串的前缀:即对于某个字符串而言,其是否为某个字符串的前缀,或存在某个其先前的字符串为其前缀;(1)若该字符串为某个字符串前缀,则存在一条从根节点到该字符串的最后一个字符串的路径;(... 阅读全文
posted @ 2015-01-30 20:18 Leptus 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2001思路分析:在Trie结点中添加数据域childNum,表示以该字符串为前缀的字符数目;在创建结点时,路径上的所有除叶子节点以外的结点的childNum增加1,叶子结点的childNum设置为1;在查询某个结点的最短前缀时:(1)若... 阅读全文
posted @ 2015-01-30 19:03 Leptus 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/bbs?problem_id=2503思路分析:题目数据数据量为10^5, 为查找问题,使用Hash或Map等查找树可以解决,也可以使用字典树查找。代码(Map实现):#include #include #include #include using name... 阅读全文
posted @ 2015-01-30 13:28 Leptus 阅读(208) 评论(0) 推荐(0) 编辑