• CodeForces


    题面在这里!

        明明可以出成n<=1e5但是因为拒绝写数据结构而只出到n<=100,,,出题人真的很棒棒。。

        一个显然的贪心就是,把和当前序列最左端的数匹配的数移到它的右边,这样迭代下去总是最优的。

        考虑到这样总不会比把这个数向右移到匹配的数左边更劣,而且每个数都得匹配。。。。

        n<=100的话直接扫一下就行了,反正怎么做都可以过的数据范围。。。。

        n再大一点的话上树状数组就行了。。。

    #include<bits/stdc++.h>
    #define ll long long
    using namespace std;
    const int N=105;
    
    int n,a[N*2],ans,m;
    
    int main(){
    	scanf("%d",&n),m=n<<1;
    	for(int i=1;i<=m;i++) scanf("%d",a+i);
    	
    	for(int i=1,j;i<=m;i++) if(a[i]){
    		for(j=i+1;a[j]!=a[i];j++) ans+=(a[j]>0);
    		a[j]=0;
    	}
    	
    	printf("%d
    ",ans);
    	return 0;
    }
    

      

  • 相关阅读:
    1JavaScript的历史
    扯扯 require .js
    查看js 执行效率工具
    php 输入输出流
    词法分析096
    Python基础综合练习
    096
    大数据概述
    熟悉常用的Linux操作
    实验一、词法分析实验
  • 原文地址:https://www.cnblogs.com/JYYHH/p/9232343.html
Copyright © 2020-2023  润新知