+++排序
文章平均质量分 61
ramay7
Life is not short,but float.
展开
-
归并排序及利用归并排序求逆序对数
#include #include #include #include #include using namespace std;/*用归并排序顺便完成统计逆序对数。因为合并操作是从小到大进行的,当右边的a[q]复制到T中时,左边还没来得及复制到T中的那些数就是左边所有比a[q]大的数。此时在累加器中加上左边的元素个数m-p即可(左边剩余元素在区间[p,m)中,因此元素个数为m-原创 2016-02-27 14:53:04 · 558 阅读 · 0 评论 -
快速排序和查找第K大元素
/*输入n个整数和一个正整数k(1<=k<=n),输出这些整数从小到大排序后的第k个(例如,k=1就是最小值)。n<=10^7.快速排序的时间复杂度为:最坏情况下:O(n^2),平均情况下:O(nlogn).查找数组中第k大的元素的平均时间复杂度为:O(n).*/#include #include #include #include #include using namespa原创 2016-02-27 15:33:39 · 1777 阅读 · 0 评论 -
POJ 2299 Ultra-QuickSort(逆序对数,线段树/树状数组/归并排序)
题目链接: POJ 2299 Ultra-QuickSort/*************Segment Tree Solution**************///19700K 1282MS#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#define lson(x) (x<<1)#def原创 2016-03-25 19:13:24 · 341 阅读 · 0 评论 -
HDU 1576 A/B(乘法逆元、费马小定理)
题目链接: HDU 1576 A/B 题意: 已知A%9973 = n,gcd(B, 9973)=1,给出n和B求A/B%9973. 分析: 裸的乘法逆元。利用费马小定理:因为gcd(B, 9973) = 1,且9973为质数,所以A/B%9973 = A%9973 * B^(9973 - 2) % 9973.#include <iostream>#include <cstdio>#i原创 2016-05-31 01:11:45 · 562 阅读 · 0 评论