洛谷2448 無盡的生命

2021-07-05 13:42:45 字數 765 閱讀 7158

題目:

分析:首先離散化,然後樹狀陣列求所有操作過的數產生的逆序對,再求每個操作過的數與沒操作過的數產生的逆序對,因為原始序列有序,所以很方便。

**:

#include 

#include

#include

#include

using

namespace

std;

const

int tmax=200005;

struct node;

node g[tmax];

int k,last,c1[tmax],c2[tmax];

long

long

int ans;

map f,fx;

bool cmp(node lhs,node rhs)

sort(g+1,g+1+last,cmp2);

return;

}int lowbit(int x)

int sum(int x)

void add(int x)

void work()

else

}cout

}int main()

else pa=f[a];

if(!f.count(b))

else pb=f[b];

swap(g[pa].x,g[pb].x);

}init();

work();

return

0;}

洛谷 2448 無盡的生命

逝者如斯夫,不捨晝夜!葉良辰認為,他的壽命是無限長的,而且每天都會進步。葉良辰的生命的第一天,他有1點能力值。第二天,有2點。第n天,就有n點。也就是s i i 但是調皮的小a使用時光機,告訴他第x天和第y天,就可以任意交換某兩天的能力值。即s x s y 小a玩啊玩,終於玩膩了。葉良辰 小a你給我...

無盡的生命 洛谷p2448

逝者如斯夫,不捨晝夜!葉良辰認為,他的壽命是無限長的,而且每天都會進步。葉良辰的生命的第一天,他有1點能力值。第二天,有2點。第n天,就有n點。也就是s i i 但是調皮的小a使用時光機,告訴他第x天和第y天,就可以任意交換某兩天的能力值。即s x s y 小a玩啊玩,終於玩膩了。葉良辰 小a你給我...

洛谷P2448 無盡的生命 樹狀陣列

給出231 12 1 231 1範圍的1 n 1 n1 n的數列,然後有不超過k 1 e5 k leq1e5 k 1e 5次交換,求問最終的逆序對的個數是多少。被交換的值不超過2k2k 2k個,然後再考慮中間一段連續的數對逆序對的貢獻,把他們看作是同乙個點。樹狀陣列維護即可。includeusing...