归并排序 时间复杂度 归并排序时间复杂度为O(NlogN) 似乎和快速排序差不多,但在有些特定的场合下,归并排序却能起到快速排序达不到的效果(如一年的联赛题,瑞士轮) 思路及实现 归并排序分为两个步骤,分、合; 分 的过程我们用二分的思路实现; 合 的过程时间复杂度可达到O(n); 分: 进行分治: ...
分类:
编程语言 时间:
2018-08-20 21:51:09
阅读次数:
191
转圈游戏 "传送门" Solution 快速幂 Code 火柴排队 "传送门" Solution 建立映射关系,求逆序对个数 Code cpp //By Menteur_Hxy include include include include include define F(i,a,b) for(r ...
分类:
其他好文 时间:
2018-08-19 21:57:16
阅读次数:
167
1、什么是逆序数? 2、用树状数组求逆序数的总数 2.1该背景下树状数组的含义 2.2如何使用树状数组求逆序数总数 2.3 C++实现代码 1、什么是逆序数? 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序数的总数就是这个排列的逆序数 ...
分类:
编程语言 时间:
2018-08-19 11:55:50
阅读次数:
140
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,siz ...
分类:
编程语言 时间:
2018-08-18 11:34:51
阅读次数:
146
[CC CHEFINV]Chef and Swaps 题目大意: 长度为$n(n\le2\times10^5)$的数列,$q(q\le2\times10^5)$次询问,每次问交换$A_x$和$A_y$后逆序对个数。询问互相独立。 思路: 一开始先把逆序对求好,然后用主席树计算交换对答案的影响即可。 ...
分类:
其他好文 时间:
2018-08-18 00:54:15
阅读次数:
136
题目链接:2018 Multi-University Training Contest 1 6318 Swaps and Inversions 题意:sum=x*逆序个数+交换次数*y,使sum最小 思路:反复观察发现,如果有逆序对,那么就一定有相邻的逆序对,而且交换他们一定是合理的 进一步发现,逆 ...
分类:
其他好文 时间:
2018-08-17 13:50:59
阅读次数:
156
题解: 树状数组维护动态开点线段树 实质上是树状数组对应区间维护一颗动态开点线段树 方便对应区间小于x的个数 3295: [Cqoi2011]动态逆序对 Description 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删 除m ...
分类:
其他好文 时间:
2018-08-17 01:24:40
阅读次数:
180
代码丢家里了系列................ 直接搜索..... 每次我们考虑新来的一个数放哪 例如当前序列 1 2 3 4 5 你要放一个6,你可以放哪里呢 1 6 2 3 4 5 6 1 2 3 4 5 1 2 3 4 5 6 一共三个可行解,我们怎么判断是否发生了"1243"的情况 首先6 ...
分类:
其他好文 时间:
2018-08-15 11:14:46
阅读次数:
144
题目描述 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。 输入输出格式 输入格式: 输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。以下n行每行包 ...
分类:
其他好文 时间:
2018-08-11 16:48:26
阅读次数:
130
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3289 思路: 求区间最小交换的次数将区间变成一个不降序列其实就是求区间逆序对的数量,这道题的样例解释可以不看,样例应该是 4和2换再和3换,这样就是最小的交换次数变成不降序列,从样例我们 ...
分类:
编程语言 时间:
2018-08-06 12:55:50
阅读次数:
177