考虑贪心
我们发现型如 123421, 先消2很明显比先消1优
型如123412, 并没有差异
型如131242, 二者互不影响, 而所有数的关系只有以上3中
因此我们进来一个消一个, 树状数组查它们中间有多少个数, 然后将那两个位置清零
所以我们贪心可以考虑几种情况,逐一比较, 找到最优的贪心策略
#include<bits/stdc++.h>
#define N 100050
using namespace std;
int pre[N],c[N],n,ans;
void Up(int x,int val){for(;x<=n*2;x+=x&-x) c[x] += val;}
int Q(int x){int ans=0; for(;x;x-=x&-x) ans+=c[x]; return ans;}
int main(){
scanf("%d",&n);
for(int i=1;i<=n*2;i++){
int x; scanf("%d",&x);
if(pre[x]==0) pre[x] = i, Up(i,1);
else ans += Q(i) - Q(pre[x]), Up(pre[x],-1);
} printf("%d",ans); return 0;
}