https://codeforces.com/contest/1328/problem/F 首先把a数组处理成pair对(num,cnt),表示数字num有cnt个,然后按num升序排序离散化一下。 对于一个数x,若想使得小于x的数字都变成x,必须先把所有小于x的数变成x-1,然后再+1变成x。 同 ...
分类:
编程语言 时间:
2020-03-29 01:15:50
阅读次数:
94
【原题】 1237:求排列的逆序数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 4401 通过数: 1739 【题目描述】 在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对一些事物的排名来估计他(或她)对各种不同信息的兴趣,从而实现个性化的服务。 对 ...
分类:
其他好文 时间:
2020-03-26 21:53:58
阅读次数:
215
如果这道题没有一个限制,那么就是一道树状数组+dfs序的裸题 第一个请求或许会带来困惑,导致想要动态建树,如果真的动态修改树,那么dfs序必定会改变,很难维护,并且数据很大,暴力应该会T 所以不妨先把全部的节点建好,这样只需要求一次dfs序,而对于第一种操作 我们只需要再那个位置减去在他之前的dfs ...
分类:
编程语言 时间:
2020-03-25 23:45:29
阅读次数:
130
上一个随笔,我介绍了全排列的递归求解,其中还有排列的逆序数等代码,这次我来介绍如何使用全排列计算行列式的值。 使用全排列求行列式的值,简单的描述就是: 对这个行列式每一行选取一个数,这些数处于行列式的不同的列,将这些数相乘,结果记为A_1 将这些数的列标按行标从上到下的顺序排列,如果这个排列的逆序数 ...
分类:
编程语言 时间:
2020-03-21 18:24:53
阅读次数:
119
LINK: "紫荆花之恋" 每次动态加入一个节点 统计 有多少个节点和当前节点的距离小于他们的权值和。 显然我们不能n^2暴力。 考虑一个简化版的问题 树已经给出 每次求某个节点和其他节点的贡献。 不难想到我们直接把所有点的答案求出来 直接输出就好了 求所有点的答案 可以上点分治了树状数组维护一波就 ...
分类:
其他好文 时间:
2020-03-21 13:10:48
阅读次数:
62
概述 这篇文章前半部分主要研究树状数组的 ,后半部分研究 。 前置知识 树状数组的基本知识以及单点更新区间求和,差分的思想。 区间更新,单点求和 分析 回顾一下最简单的树状数组的功能:快速求出一个数列中某个数的前缀和,以及修改一个位置上的数。 现在我们要利用这两个功能实现:快速求出某个数列中某个数的 ...
分类:
编程语言 时间:
2020-03-16 09:54:11
阅读次数:
59
"题目" 题意:找到数组里每个元素的右边有多少个元素小于当前元素 题解:单点更新,区间查询。线段树或者树状数组都可以。注意要离散化 ...
分类:
编程语言 时间:
2020-03-13 20:55:32
阅读次数:
68
题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。 又如:对于10进制数87: STEP1:87+78 = 165 STEP2:165+561 = 726 STEP3:72 ...
分类:
其他好文 时间:
2020-03-13 15:55:58
阅读次数:
81
鸽了Div3,抱着维持手感的心态直接做D题,结果被自己菜到....题意是给你两个长度n数组,让你计算有多少对(i,j)满足ai+aj>bi+bj(i<j) 一开始想到二分,写了一半想不清楚怎么同时处理值和序号的大小关系, 于是又开始想树状数组。。因为有例题是用树状数组计算区间内比x小的数有多少,但是 ...
分类:
其他好文 时间:
2020-03-13 01:39:46
阅读次数:
74
"题目链接" 树状数组(或线段树)离线 我们可以维护一个树状数组 $tree$ ,计算 $[1,i]$ 出现的不同种类的个数。然后根据前缀合思想,取 $ans=query(r) query(l 1)$ 离线按 $r$ 排序查询区间。 由于我们要求不重复,所以靠右的比靠左的更有价值(更关心靠右的)所以 ...
分类:
其他好文 时间:
2020-03-11 10:52:44
阅读次数:
56