【问题背景】
zhx 给他的妹子们排序。
【问题描述】
zhx 有 N 个妹子, 他对第 i 个妹子的好感度为 ai,且所有 ai两两不相等。 现
在 N 个妹子随意站成一排, 他要将她们根据好感度从小到大排序。 他使用的是
冒泡排序算法(详见下)。如果排序过程中好感度为 ai的妹子和aj的妹子发生了交换, 那么她们之间会发生一场口角。
现在 zhx 想知道, 给定妹子的初始排列, 在排序完成后, 最多存在多少个妹
子, 她们任意两人之间没发生过口角。

【输入格式】

第一行两个整数 N, 表示妹子数量。
接下来一行 N 个整数 ai,表示初始第i个妹子的好感度.
【输出格式】
一行一个整数, 表示最多满足要求的妹子的个数。

【样例输入】
3
3 1 2
【样例输出】
2
【样例解释】
{1, 2}。

对于100%的数据, 1 ≤   N ≤ 100000,0≤ai<N.
分析:要找到这个集合,首先要搞清楚这个集合中的元素满足什么性质.冒泡排序和逆序对是相关的,每一对逆序对的两个数都会被交换一次.那么最后的集合中两两肯定都是顺序对,即i<j,a[i]<a[j],现在要求最大的集合,这就是LIS.数据比较大,要用O(NlogN)的解法.

#include <map>
#include <queue>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; int n, a[], s[], cur; int erfen(int x)
{
int l = , r = cur, ans = ;
while (l <= r)
{
int mid = (l + r) >> ;
if (s[mid] > x)
{
r = mid - ;
ans = mid;
}
else
l = mid + ;
}
return ans;
} int main()
{
scanf("%d", &n);
for (int i = ; i <= n; i++)
scanf("%d", &a[i]);
s[] = -;
for (int i = ; i <= n; i++)
{
if (a[i] > s[cur])
s[++cur] = a[i];
else
{
int p = erfen(a[i]);
s[p] = a[i];
}
}
printf("%d\n", cur); return ;
}

noip模拟赛 序的更多相关文章

  1. NOI.AC NOIP模拟赛 第五场 游记

    NOI.AC NOIP模拟赛 第五场 游记 count 题目大意: 长度为\(n+1(n\le10^5)\)的序列\(A\),其中的每个数都是不大于\(n\)的正整数,且\(n\)以内每个正整数至少出 ...

  2. 2016-06-19 NOIP模拟赛

          2016-06-19 NOIP模拟赛 by coolyangzc 共3道题目,时间3小时 题目名 高级打字机 不等数列 经营与开发 源文件 type.cpp/c/pas num.cpp/c ...

  3. 【HHHOJ】NOIP模拟赛 捌 解题报告

    点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...

  4. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  5. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

  6. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  7. 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程

    数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...

  8. 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...

  9. 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...

随机推荐

  1. php使用邮箱发送验证码

    如果看着文字眼乏就去看看视频吧-> 如何注册腾讯企业邮箱 https://www.bilibili.com/video/av14351397/ 如何在项目中使用 https://www.bili ...

  2. 'latin-1' codec can't encode characters in position解决字符问题

    当遇到这样的报错时,原因是: pymysql库在处理mysql语句时,默认的编码方式是'latin-1',这种编码方式能识别的字符是有限的 解决办法:找到\site-packages\pymysql\ ...

  3. JAVAEE 是什么,如何获取各种规范jar包及各种规范的jar包源码

    1.什么是JAVA EE JAVA EE是由一系列规范组成的,规范是由JCP制定的,并且提供了参考实现.规范(Specification)是一系列接口,不包含具体实现 有以下常见的JAVA EE实现, ...

  4. 使用jstack精确找到异常代码的

    https://blog.csdn.net/mr__fang/article/details/68496248

  5. const学习(续)

    续接上一篇<C++ const学习> const与成员函数 之前说到了const修饰成员函数本身. const成员函数不能修改对象成员值 对于const或者费const对象都可以调用con ...

  6. 2559. [NOIP2016]组合数问题

    [题目描述] [输入格式] 从文件中读入数据. 第一行有两个整数t, k,其中t代表该测试点总共有多少组测试数据,k的意义见[问题描述]. 接下来t行每行两个整数n, m,其中n, m的意义见[问题描 ...

  7. Elasticsearch--地理搜索

    目录 地理位置索引 空间搜索映射定义 示例 基于距离的排序 边界框过滤 距离的限制 任意地理形状搜索 点 包络线 多边形 多个多边形 把形状保存到索引中 地理位置索引 空间搜索映射定义 elastic ...

  8. js数组的各种方法

    1.检测数组 ①Instanceof: if(value instanceof Array){ } 它假定只有一个全局执行环境,若网页中包含多个框架,则存在多个不同的全局执行环境,则Instanceo ...

  9. Android 简单的语音播报

    不解释快上车 Main.class package com.example.myapp; import android.app.AlertDialog;import android.os.Bundle ...

  10. micropython陀螺仪控制舵机

    2018-03-1220:14:00 import pyb import time from pyb import Pin xlights = (pyb.LED(2),pyb.LED(3)) MO = ...