CF1573B. Swaps(思维)

简介: CF1573B. Swaps(思维)

linkkk

题意:

将1 − 2 n 的奇数任意顺序放到a数组,偶数任意顺序放到b数组。每次可以交换某数组的相邻两项,问a < b

思路:

元素互不相同,比较第一个就行。

每次可以只移动a中元素或b中元素或两者都移动,考虑怎么计算最优。

枚举a , b的首元素是哪个就可以了。

用m a p表示将a i

移动到首位需要的次数。

从2 n倒着遍历,遇到奇数的话更新答案,遇到偶数的话更新将元素移动到首位的最小次数,由于是倒着枚举,所以对于奇数来说,后面的偶数比他大,次数还小,所以一定满足a < b

代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10,inf=0x3f3f3f3f;
int a[maxn],b[maxn];
map<int,int>mp;
int main(){
  int _;cin>>_;
  while(_--){
    int n;cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i],mp[a[i]]=i-1;
    for(int i=1;i<=n;i++) cin>>b[i],mp[b[i]]=i-1;
    int ans=inf,res=inf;
    for(int i=2*n;i;i--)
      if(i&1) ans=min(ans,mp[i]+res);
      else res=min(res,mp[i]);
    cout<<ans<<endl;
  }
  return 0;
}
/*
3
3 5 1
2 4 6
*/



目录
相关文章
|
6月前
CF一个远古时期的计算几何题(正多边形)
CF一个远古时期的计算几何题(正多边形)
36 0
|
6月前
|
算法
AC/DC电源模块设计原理、优化技术和应用案例三个方面进行阐述
AC/DC电源模块是一种将交流电转换成直流电的设备,广泛应用在各种电子设备中。其设计和优化是为了提高转换效率、降低功耗和提高性能稳定性。本文将从设计原理、优化技术和应用案例三个方面进行阐述。
AC/DC电源模块设计原理、优化技术和应用案例三个方面进行阐述
|
4月前
|
人工智能 BI
CF 1561 D. Up the Strip(数学+思维)
【7月更文挑战第5天】
53 10
|
5月前
|
人工智能
技术经验分享:CF223C
技术经验分享:CF223C
22 0
|
人工智能 BI
CF1438B Valerii Against Everyone(考察数学分析问题)
CF1438B Valerii Against Everyone(考察数学分析问题)
67 0
|
机器学习/深度学习 人工智能
CF1451C String Equality(数学细心分析,万物皆有规律)
CF1451C String Equality(数学细心分析,万物皆有规律)
81 0
|
机器学习/深度学习
CF2A Winner(map+思维)
CF2A Winner(map+思维)
92 0
CF763A Timofey and a tree(思维)
CF763A Timofey and a tree(思维)
79 0
|
存储 供应链 负载均衡
企业架构】EA 比以往任何时候都更重要的五个领域
企业架构】EA 比以往任何时候都更重要的五个领域