Vector两行代码求逆序对 背景:济南集训Day7上午T2,出了一道逆序对的裸题,SB的我没看出是逆序对来,于是现场推了一个很刁钻的求逆序对的方法 首先我们想一下冒泡排序的过程,我们不难发现,对于每一个元素,我们实际上是让他不停的和前面的元素比较,交换。 也正是因为这个过程决定了在冒泡排序的过程中 ...
分类:
其他好文 时间:
2017-11-05 20:34:06
阅读次数:
127
http://blog.csdn.net/gokou_ruri/article/details/7723378 ↑惯例Mark大神的博客 bzoj3289:Mato的文件管理 线段树求逆序对+莫队,但是数据量50000却没有给出范围,既然求逆序对,那么我们关注的只是数据之间的相对大小,此时我们可以把 ...
分类:
其他好文 时间:
2017-11-04 18:15:51
阅读次数:
195
离散化可以看我上一篇写的那个离散化blahblah什么的.......算是莫队板子和离散化板子和树状数组板子放到一起的板子题....树状数组求逆序对即可代码 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include< ...
分类:
编程语言 时间:
2017-11-04 18:06:44
阅读次数:
191
http://blog.csdn.net/gokou_ruri/article/details/7723378 ↑惯例Mark大神的博客 bzoj3289:Mato的文件管理 线段树求逆序对+莫队,但是数据量50000却没有给出范围,既然求逆序对,那么我们关注的只是数据之间的相对大小,此时我们可以把 ...
分类:
其他好文 时间:
2017-11-04 18:04:55
阅读次数:
145
【题意】给定三个长度为n的排列,求在三个排列中顺序相同的数对个数。 【算法】逆序对 【题解】很容易联想到NOIP火柴排队,涉及顺序问题显然和逆序对息息相关。 一个数对如果在三个排列中顺序不同,一定是1+2或2+1,也就是只在两数列之间顺序相同。 所以对三个数列两两求逆序对总数num,则不满足要求的数 ...
分类:
其他好文 时间:
2017-11-04 11:35:46
阅读次数:
153
题目链接:https://nanti.jisuanke.com/t/16443 我不会矩阵快速幂,所以只拿了60分, 发现归并排序掌握的并不熟练,借此良机复习一下。 重在归并排序分治思想,要牢记! ...
分类:
编程语言 时间:
2017-11-04 00:24:16
阅读次数:
247
#include #include using namespace std; typedef long long ll; ll n,p,inv[3001000]; ll rd(){ ll x=0,fl=1;char ch=getchar(); while(ch'9'){if(ch=='-')fl=-... ...
分类:
其他好文 时间:
2017-11-03 21:58:26
阅读次数:
263
T1这道题不难,当时做的时候忘记一张牌正反面可能相同的情况,然后就GG了数字太大,用数组记不下了方法1:map方法2:离散化,使得数字值域落在2n以内 T2这道题类似于逆序对,实质上就是求逆序对的个数,然而这道题是求逆序字符串的个数,可以用归并排序来求解逆序对的个数归并排序时比较两个数字的大小,归并 ...
分类:
其他好文 时间:
2017-11-03 21:45:30
阅读次数:
166
1),输入n个值,求其中逆序对的个数: 输入n,m,表示有n个数和m个询问,每个询问输入两个数 l 和 r ,输出 [l,r] 这个区间内的逆序对个数。 我们可以在每次询问时通过移动区间的左右端点来维护结果: 完~~~~~~ ...
分类:
编程语言 时间:
2017-11-03 20:26:01
阅读次数:
136
给定n个值中,要求其中的逆序对; #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define ll long long #define maxn 100005 using namespace std; ...
分类:
编程语言 时间:
2017-11-01 14:56:09
阅读次数:
235