Codeforces 540 E. Infinite Inversions

http://codeforces.com/contest/540/problem/E

离散化 + 树状数组。

先处理出所有会变动的位置,然后求出这些位置上最终的数值。

接着分两步,先求出这些元素之间的逆序数,再求每个元素和其余不变动元素间的逆序数

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-11 17:46:50

Codeforces 540 E. Infinite Inversions的相关文章

Codeforces Round #301 (Div. 2) E. Infinite Inversions —— 逆序对 离散化 + 树状数组

题目链接:http://codeforces.com/contest/540/problem/E E. Infinite Inversions time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output There is an infinite sequence consisting of all positive integers in

Codeforces Round #301 (Div. 2) E . Infinite Inversions 树状数组求逆序数

E. Infinite Inversions time limit per test 2 seconds memory limit per test 256 megabytes input standard input  output standard output There is an infinite sequence consisting of all positive integers in the increasing order: p = {1, 2, 3, ...}. We pe

CodeForces 540E - Infinite Inversions(离散化+树状数组)

花了近5个小时,改的乱七八糟,终于A了. 一个无限数列,1,2,3,4,...,n....,给n个数对<i,j>把数列的i,j两个元素做交换.求交换后数列的逆序对数. 很容易想到离散化+树状数组,但是发现那些没有交换的数也会产生逆序对数,但我没有算. 经明神提示, 把没有用到的数字段化成点.然后用树状数组算一下就好了. 然后我用一个数组记录每个点的长度.比如 <1,2><5,6>,1,2,3,4,5,6只有1,2,5,6用到了,那么离散化为1,2,3,4,5,f[1]=

[CodeForces - 197D] D - Infinite Maze

D - Infinite Maze We've got a rectangular n?×?m-cell maze. Each cell is either passable, or is a wall (impassable). A little boy found the maze and cyclically tiled a plane with it so that the plane became an infinite maze. Now on this plane cell (x,

codeforces 540 B School Marks【贪心】

题意:一共n个数,给出其中k个数,要求这n个数的中位数为y,这n个数的和不超过x,补全剩下的n-k个数 先统计给出的k个数里面比中位数小的数, 如果cnt<=n/2,说明中位数还没有出现,把这n/2-cnt个数都补上1,剩下的都补上y 如果cnt>n/2,说明中位数不存在 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include <cmath> 5 #includ

#301 (div.2) E. Infinite Inversions

1.题目描述:点击打开链接 2.解题思路:本题要求找出经过若干次交换后的数组中逆序对的个数.可以利用树状数组(BIT)解决.计数时可以分为两部分来分别统计.第一部分是统计位置i右边的所有不在原位置的元素中,小于rk[i]的个数.注意:这一部分统计的都是位置发生过变动的元素.第二部分统计位置i右边中仍在原位置的元素中,小于rk[i]的个数.接下来我们考虑如何快速求解这两部分的个数. 第一部分:因为这部分统计的元素均是不在原位置的元素.因此可以考虑用BIT求解.这是BIT的一个经典运用,务必要理解这

Codeforces 540 D Bad Luck Island

Discription The Bad Luck Island is inhabited by three kinds of species: r rocks, s scissors andp papers. At some moments of time two random individuals meet (all pairs of individuals can meet equiprobably), and if they belong to different species, th

CodeForces Round #301 Div.2

今天唯一的成果就是把上次几个人一起开房打的那场cf补一下. A. Combination Lock 此等水题看一眼样例加上那个配图我就明白题意了,可是手抽没有注释掉freopen,WA了一发. 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 const int maxn = 1000 + 10; 5 6 char s1[maxn], s2[maxn]; 7 8 int main() 9 { 10 int n; cin >>

Codeforces Round #301 (Div. 2)(树状数组+离散化)

E. Infinite Inversions time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output There is an infinite sequence consisting of all positive integers in the increasing order: p?=?{1,?2,?3,?...}. We per