datastructrue
文章平均质量分 57
robotcator
这个作者很懒,什么都没留下…
展开
-
快排求第n_th元素
题目:输入n个整数和一个正整数k(0 首先我们可以先排序,然后返回a[k]。但是这样普通排序O(n^2)的复杂度是无法承受的,用O(nlogn)的排序方法,然后返回a[k]。有没有更高效的方法呢?有的,用快速排序,首先第一趟划分后,假设划分的位置为pos,那个左边有pos-1个数比他小。如果k==pos那么直接返回a[pos]。如果kpos,那么kth_elemetn则是在右边那些数中,这样把左原创 2014-03-06 16:45:14 · 734 阅读 · 0 评论 -
归并求逆序对数
先上模板,复杂度为O(n) void merge_sort(int *a, int l, int r, int *t){ if(r - l > 1){ int mid = l + (r-l)/2; int p = l, q = mid, i = l; merge_sort(a, l, mid, t); merge_sort(a, mid, r, t);原创 2014-03-06 18:53:03 · 838 阅读 · 0 评论 -
trie树(静态建树)
poj1002 题意:输入一个字符串,除去空格后映射成一个7位数的数字串。判断字符是否有重复,如果有则输出字串及字串重复的个数,如果没有则输出"No duplicates."(这里要注意Q和Z都没映射,则为0)。 题解:判重,可以将处理后的n个7位数字串用qsort处理,或者用trie数加dfs(其中用val[]值保存出现改字串的个数)。 #include #include #inclu原创 2014-03-06 22:14:07 · 688 阅读 · 0 评论 -
并查集(持续更新)
1:hdu 1856 http://acm.hdu.edu.cn/showproblem.php?pid=1856原创 2014-04-05 20:32:13 · 590 阅读 · 0 评论