题目名称 3457. [BJOI 2011]双端队列
输入输出 bjoi2011_deque.in/out
难度等级 ★★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2020-08-31加入
开放分组 全部用户
提交状态
分类标签
队列
分享题解
通过:5, 提交:13, 通过率:38.46%
Gravatarムラサメ 100 0.119 s 3.71 MiB C++
Gravataryrtiop 100 0.234 s 3.02 MiB C++
Gravatarcb 100 0.242 s 3.80 MiB C++
Gravatar已注销 100 0.466 s 10.03 MiB C++
GravatarFoolMike 100 0.577 s 4.60 MiB C++
Gravatarムラサメ 80 0.139 s 3.71 MiB C++
Gravataryrtiop 0 0.000 s 0.00 MiB C++
Gravataryrtiop 0 0.002 s 5.03 MiB C++
Gravataryrtiop 0 0.231 s 3.02 MiB C++
Gravataryrtiop 0 0.234 s 3.02 MiB C++
关于 双端队列 的近10条评论(全部评论)
提示:此题不需要用队列;
按蓝皮书上思路来做的话,最后如果递增或递减状态与初始设定相同,答案应+1(不判2点WA)
Gravatarムラサメ
2023-03-09 12:28 3楼
似乎C++11和O2优化有bug,我这个代码C++11和O2会RE但不带O2不会
GravatarFoolMike
2021-07-19 12:14 2楼
我是个nc,这题跟队列没半毛钱关系
Gravatarcb
2021-04-23 21:37 1楼

3457. [BJOI 2011]双端队列

★★★☆   输入文件:bjoi2011_deque.in   输出文件:bjoi2011_deque.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

Sherry现在碰到了一个棘手的问题,有N个整数需要排序。

Sherry手头能用的工具就是若干个双端队列。

她需要依次处理这N个数,对于每个数,Sherry能做以下两件事:

1.新建一个双端队列,并将当前数作为这个队列中的唯一的数;

2.将当前数放入已有的队列的头之前或者尾之后。

对所有的数处理完成之后,Sherry将这些队列排序后就可以得到一个非降的的序列。

请你求出最少需要多少个双端序列。

【输入格式】

第一行输入整数N,代表整数的个数。

接下来N行,每行包括一个整数Di,代表所需处理的整数。

【输出格式】

输出一个整数,代表最少需要的双端队列数。

【样例输入】

6

3

6

0

9

6

3

【数据范围】

2

【数据范围】

$1\leq N\leq 2 \times 10 ^5$

【来源】

BJOI2011 Day1