摘要: 今天回顾WOJ1398,发现了这个当时没有理解透彻的算法。看了好久好久,现在终于想明白了。试着把它写下来,让自己更明白。最长递增子序列,Longest Increasing Subsequence 下面我们简记为 LIS。排序+LCS算法 以及 DP算法就忽略了,这两个太容易理解了。假设存在一个序列... 阅读全文
posted @ 2015-03-30 17:29 叁疯 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 给出一个算法,它能用O(nlgn)的最坏运行时间,确定n个元素的任何排列中逆序对的数目。(提示:修改合并排序)《算法导论》在这里直接提示修改合并排序,所以自然就是用到分治归并的思想,那么逆序对是出现在什么时候?出现多少呢?我们知道归并排序是通过分治,然后归并两个有序的序列成一个有序序列。现假设两段有... 阅读全文
posted @ 2015-03-30 15:15 叁疯 阅读(162) 评论(0) 推荐(0) 编辑
摘要: LRU主要的耗时操作就是查找,因此,我们可以使用hash_map来代替map,因此时间复杂度可以从O(logN)降低到O(1)#include #include #include #include using namespace std;class LRUCache{public: LRUCa... 阅读全文
posted @ 2015-03-30 09:47 叁疯 阅读(181) 评论(0) 推荐(0) 编辑