
+++排序
文章平均质量分 51
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 · 589 阅读 · 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 · 1829 阅读 · 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 · 384 阅读 · 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 · 603 阅读 · 0 评论