题目链接 "bzoj3295: [Cqoi2011]动态逆序对" 题解 好神呐,删除转化为插入,然后得到了插入的时间关系 然后问题就转化成了三维偏序问题 代码 ...
分类:
其他好文 时间:
2018-07-03 21:34:20
阅读次数:
143
https://vjudge.net/problem/POJ-2299 题意 求对于给定的无序数组,求出经过最少多少次相邻元素的交换之后,可以使数组从小到大有序。 分析 很明显是求逆序对的数目,那就要想到归并排序了。在归并过程中计算逆序对。 ...
分类:
编程语言 时间:
2018-06-30 12:42:04
阅读次数:
140
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4881 1.当一块相互交织的线段中有3个或以上两两相交的那种线段时,无解。 这就是最长下降子序列!(不是某条线段的逆序对!)判断一下最长下降子序列长度是否>2。 正着 n-a[i]+1 (不是 ...
分类:
其他好文 时间:
2018-06-29 14:20:40
阅读次数:
161
题目 分析 题意:给个数列,求有多少五元上升组 考虑简化一下问题:如果题目求二元上升组怎么做。 仿照一下逆序对,用树状数组维护一下就ok了。 三元怎么做呢? 把二元的拓展一位就可以了,即把第三个也扔进树状数组 所以这题就渐渐明朗了: 用$ dp[i][x] $表示以$ A[x] $结尾的$ x $元 ...
分类:
编程语言 时间:
2018-06-26 16:16:52
阅读次数:
190
题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 解题思路:没扫描到一个数字的时候,逐个比较该数字和它后面的数字的大小,如果后面的数字比它小,则这两个数字就组成了一个逆序对。假设数组中含有n个数字。由于每个数字都要和O( ...
分类:
编程语言 时间:
2018-06-22 10:15:23
阅读次数:
352
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 思路:归并排序,在归并的时候算出逆序对; //剑指offer答案,写的很明白,看了就会 ...
分类:
编程语言 时间:
2018-06-12 20:59:24
阅读次数:
196
题目描述 对于一个数列{ai},如果有iaj,那么我们称ai与aj为一对逆序对数。若对于任意一个由1~n自然数组成的数列,可以很容易求出有多少个逆序对数。那么逆序对数为k的这样自然数数列到底有多少个? 输入输出格式 输入格式: 第一行为两个整数n,k。 输出格式: 写入一个整数,表示符合条件的数列个 ...
分类:
其他好文 时间:
2018-06-05 15:42:10
阅读次数:
190
菜鸡总觉得自己会了很多东西 然而在学长的鞭策下 还有很多需要加深的 希望再一次突破自己的数据结构! ...
分类:
其他好文 时间:
2018-06-02 11:15:44
阅读次数:
135
"Codeforces 785 E. Anton and Permutation" 题目大意:给出n,q。n代表有一个元素从1到n的数组(对应索引1~n),q表示有q个查询。每次查询给出两个数l,r,要求将索引为l,r的两个数交换位置,并给出交换后数组中的逆序对数。 思路:此题用到了分块的思想,即将 ...
分类:
编程语言 时间:
2018-06-02 00:31:34
阅读次数:
242
【题目描述】 现给定1,2,…,n的一个排列,求它的逆序数。 【输入格式】 第一行是一个整数n,表示该排列有n个数(n <= 100000)。第二行是n个不同的正整数,之间以空格隔开,表示该排列。 【输出格式】 输出该排列的逆序数。 【分析】 (1)将区间[1..n]进行二分,先求出区间[1,mid ...
分类:
编程语言 时间:
2018-05-31 00:34:05
阅读次数:
209