【agc023E】Inversions(线段树,动态规划) 题面 "AT" 给定$a_i$,求所有满足$p_i\le a_i$的排列$p$的逆序对数之和。 题解 首先如何计算排列$p$的个数。 设$cnt[i]$表示$a_k\ge i$的个数,那么满足条件的$p$的总数就是$\prod cnt[i] ...
分类:
其他好文 时间:
2018-08-31 21:18:04
阅读次数:
236
四十一、数据流中的中位数 题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 四十二、连续子数组的最大和 题目:输入一个整型数组,数组里有正数也有负数。数组中 ...
分类:
其他好文 时间:
2018-08-29 01:17:28
阅读次数:
170
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2212 思路:用线段树合并求出交换左右儿子之前之后逆序对的数量,如果数量变小则交换. 实现代码: ...
分类:
其他好文 时间:
2018-08-28 20:09:41
阅读次数:
156
求逆序对是枚举一个数,统计前面有多少数小于它 这个用乘法原理,统计左右小于或大于它的 要用树状数组,但数太大数组开不下,要离散化 A[0]存储的是是0的数有多少个 ...
分类:
其他好文 时间:
2018-08-25 18:53:15
阅读次数:
140
花团 线段树分治裸题 给出了结束时间跟离线没区别 「LibreOJ Round #6」花火 首先在第一次使用交换是显然的 然后统计逆序对暴力是n^2的(前缀和优化) 因为交换两个点改变的只有x<i y>i 比较容易猜到决策单调性 加上统计log的时间 时间复杂度nlog^2 ...
分类:
其他好文 时间:
2018-08-24 23:36:45
阅读次数:
190
[HAOI2009] 逆序对数列 题目大意 :求$[1,n]$的自然数的排列中逆序对数为$k$的有多少. 这样来DP 状态:设$f[i][j]$为$i$个数,逆序对数为$j$的种类数目 转移方程:$f[i][j] = \sum \limits _{k=j i+1}^{j}f[i 1][k]$,$i$ ...
分类:
其他好文 时间:
2018-08-24 20:48:54
阅读次数:
182
这个题有点意思,一开始没想到用dp,没啥思路,后来看题解才恍然大悟:k才1~100,直接枚举每个-1点的k取值进行dp就行了。先预处理出来sz[i][j] i左边的比j大的数,lz[i][j] i右边比j小的数。然后就没啥了。 题干: Description Input Output Sample ...
分类:
其他好文 时间:
2018-08-23 19:15:55
阅读次数:
152
一、概述。 Comparator和Comparable两者都属于集合框架的一部分,都是用来在对象之间进行比较的,但两者又有些许的不同,我们先通过一个例子来看一下他们的区别,然后再分别学习下它们的源码。 先来看一下Comparable的例子,定义实体类Student,实现Comparable,重写co ...
分类:
其他好文 时间:
2018-08-22 16:49:21
阅读次数:
200
先看一道基础题 HRBUST 2224 给定 n 个数组成的数组,求其逆序对的总数。 逆序对定义为,存在 (i, j) 满足 i < j 且 A[i] > A[j] 的二元组的数目。 接下来的一行,包含 n 个数(2 <= n <= 100000),依次表示 A[i](A[i] <= 10^9)。 ...
分类:
编程语言 时间:
2018-08-21 21:06:17
阅读次数:
160
先介绍一下离散化 桶排大家应该知道,就是开一个数组(下标为数值,记录了该数值的出现次数)然后遍历过去如果出现次数不为零,那就输出这些数字,理论时间复杂度可以达到O(N)但是由于内存限制,不能开很大的数组。 然而 如果某个数列中的数字不要求大小确定,只要求这些数字有相对的大小就够了的话, 离散化 就有 ...
分类:
其他好文 时间:
2018-08-20 21:53:59
阅读次数:
621