数学联邦政治世界观
超小超大

数学(五)

思路:先把第一个序列排序,第二个序列的顺序不定。

对第一个序列交换得到递增序列,此时所有逆序对数量都来自于第二个序列,现在对某对元素{i,j}操作,使其顺序改变后,第一个序列一定会增加k个逆序对,但是第二个序列减少逆序对一定<=k,得不偿失了,所以只需要对一个序列排序即可。

证明:为简化运算,我们将排序移动过程全部变为相邻项交换。

当第一个序列为严格递增序列时,第二个序列想要减少逆序对数量时,每项不在原有位置上的元素都要移动相应距离,在移动过程中每与相邻项交换一次,第一个序列逆序对一定减1,但是第二个逆序对数量最多减少1。

举个例子:

第二个序列为3 4 1 2,想要元素3回到它应在的位置上,需要交换两次,当元素3,4交换时,逆序对数量不减反增,第一个序列逆序对加1,以此类推。

#include<iostream>

#include<cstring>

#include<vector>

using namespace std;

using LL = long long;

int main(){

cin.tie(0);

cout.tie(0);

ios::sync_with_stdio(0);

int T;

cin>>T;

while(T--){

int n;

cin>>n;

vector<int> a(n), b(n);

for(int i = 0; i<n; i++) cin>>a[i];

for(int i = 0; i<n; i++) cin>>b[i];

vector<int> id(n);

for(int i = 0; i<n; i++) id[i] = i;

sort(id.begin(), id.end(), [&](int x, int y){

return a[x]<a[y];

});

for(int i = 0; i < n; i++){

cout << a[id[i]] << ' ';

}

cout << '\n';

for(int i = 0; i < n; i++){

cout << b[id[i]] << ' ';

}

cout << '\n';

}

}

数学联邦政治世界观提示您:看后求收藏(笔尖小说网http://www.bjxsw.cc),接着再看更方便。

相关小说

(无限流)我就是想交个朋友 连载中
(无限流)我就是想交个朋友
麦穗花
【欢迎来到无限世界[域],在这里,特殊能力唾手可得,死亡更不是梦想,随时随地,身临其境,尖叫和欢笑,惊骇与心动,让我们——娱乐至死!】(ㅍ_......
1.3万字12个月前
陈风日忆 连载中
陈风日忆
语言_16270265744616729
双男主,he文,内含强制爱。霍羡之X霍盼/江时遇X季林
0.2万字8个月前
偏爱月亮—— 连载中
偏爱月亮——
糖炒栗子炒鸡好吃
逃离牢笼跳进的却是另一个圈套,她对他们来说只是一件替换品。遇到他,点燃了她心中熄灭已久的火焰。他们能否成为彼此的救赎。养父母以她的错误为筹码......
0.3万字5个月前
离殇之泪 连载中
离殇之泪
君墨曦
我见过春日夏风,秋夜冬雪,也踏遍南水北山东麓西岭,可这四季春秋,都不及你对我展眉一笑。这大好河山,若没有你陪我一起观赏,那我要这江山有何用?......
0.3万字5个月前
崔十八:雾里寻他 连载中
崔十八:雾里寻他
筱柚凝
私设私设私设!!!!介意的宝子勿扰不要发到平台之外一旦发现立即下架!!!听潮阁·礼的歌手✖️知名的主持人温柔体贴的崔十八✖️优雅但娇气的陆郁......
1.8万字5个月前
世尘风落 连载中
世尘风落
LilacRose
远处传来一声悲歌,前方有烟雾弥漫着,玫瑰被丢进燃气的篝火……看透命运的人要承受命运的折磨。异世法则,多分段剧情,神话
25.3万字4个月前