离散化
小胡同的诗
千里之行,始于足下
展开
-
离散化处理介绍
前言对于一串数字序列(或者一个平面),我们要得到其中每个位置得相对位置,但这段数字可能存在间隔十分大,从而产生类似于稀疏矩阵这样浪费空间的问题(这个形容可能不恰当),比如我们要对这段序列进行桶排序类似物的处理。这是我们可以对其进行求出相对位置(也可以理解为这个数字在这段序列中的排名),而不是原本的绝对位置,利用离散化可以解决这样的问题。离散化,把无限空间中有限的个体映射到有限的空间中去,以此...原创 2019-02-14 22:54:35 · 4761 阅读 · 1 评论 -
逆序数介绍以及算法实现
前言线性代数中对于一段数字序列的排列情况有这样一个定义:在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。一个排列中所有逆序总数叫做这个排列的逆序数。也就是说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素...原创 2019-02-15 16:07:06 · 4597 阅读 · 0 评论 -
NowCoder逆序数(离散化+树状数组)
题目链接:逆序数解题思路:逆序数模板题,将数值离散化后把求值的逆序数转化成求其rank的逆序数。利用树状数组提升标记数组的效率。注意i - get_sum(rnk[i])表示在长度为i,或者说第i个数,之前排名比他大数量。AC代码:#include <cstdio>#include <cstring>#include <cstdlib>#incl...原创 2019-02-15 17:05:41 · 157 阅读 · 0 评论 -
hihoCoder1483区间价值(离散化+二分答案+尺取法)
题目3 : 区间价值时间限制:10000ms单点时限:1000ms内存限制:256MB描述给定n个数A1...An,小Ho想了解AL..AR中有多少对元素值相同。小Ho把这个数目定义为区间[L,R]的价值,用v[L,R]表示。例如1 1 1 2 2这五个数所组成的区间的价值为4。现在小Ho想知道在所有的的v[L,R](1 <= L <= R <...转载 2019-02-16 12:27:40 · 231 阅读 · 1 评论 -
POJ2299Ultra-QuickSort(树状数组+离散化)
题目链接:POJ2299题目大意:给你n个数字,问这段序列类似于冒泡排序后至少需要几次交换。解题思路:实际上就是求数列的逆序数,树状数组可以解决,由于数据规模大到达long long的规模,离散化一下。注意开的val要为long long!AC代码:#include &lt;cstdio&gt;#include &lt;cstring&gt;#include &lt;cstdlib&.原创 2019-02-17 23:19:00 · 143 阅读 · 0 评论