题意

https://vjudge.net/problem/CodeForces-1007A

对一个序列重排,使得新的数比原来的数大对应的位置个数最多。

思路

举个栗子,比如1 2 2 3 3 3 3 4 5,那么对于一个数,肯定是用比他大的最小的去覆盖他,这样后面较大的数就有更多的机会被覆盖了。比如用2覆盖1,但不能用5覆盖1,因为这样的话4就不会被覆盖了。再考虑乱序的,比如 2 1 3 5 3 3 4 3 2,一样的,用2覆盖1,用3覆盖2,和有序的序列其实并无区别,所以我们直接拍个序,用双指针遍历即可。

代码

#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
#define ll long long
const int N=200005;
const int mod=1e9+7;
const double eps=1e-8;
const double PI = acos(-1.0);
#define lowbit(x) (x&(-x))
int a[N];
int main()
{
std::ios::sync_with_stdio(false);
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+1+n);
int i=1,j=1;
for(;i<=n;i++)
{
if(a[i]>a[j])
{
j++;
}
}
cout<<j-1<<endl;
return 0;
}

  

最新文章

  1. awk-笔记
  2. 【Android】应用程序启动过程源码分析
  3. Greedy --- HNU 13320 Please, go first
  4. [js开源组件开发]js轮播图片支持手机滑动切换
  5. Python基础之函数等等
  6. D3D 模板缓存的创建过程
  7. HTTP 错误 500(Internal Server Error)
  8. Nginx安装第二步手动下载依赖包
  9. OSX学习01之更新头像
  10. php 操作mongodb
  11. php常用系统函数
  12. Python标准库:内置函数dict(**kwarg)
  13. Qt5.5.1和Qt5.3.2编译OCI驱动教程及验证方法
  14. [Python]网络爬虫(三):异常的处理和HTTP状态码的分类
  15. Java GC相关知识
  16. string[]转list&lt;long&gt;,List转字符串
  17. 64IE无法显示网页
  18. node.js学习三--------------------- http服务器模块的搭建
  19. VirtualBox虚拟机E_INVALIDARG (0x80070057)
  20. BZOJ 2940: [Poi2000]条纹(Multi-Nim)

热门文章

  1. IaC云资源编排-Terraform
  2. Data Management Technology(2) -- Data Model
  3. Scrapy_redis
  4. 不相交集ADT 你是和谁是一类人?
  5. pytorch 建立模型的几种方法
  6. alipay sign error
  7. python解释器和环境安装
  8. 蓝牙Inquriy 过程详解
  9. python面试题及答案 2019
  10. 《细说PHP》第四版 样章 第18章 数据库抽象层PDO 4