hack & 修题面
  • 板块P1750 出栈序列
  • 楼主FZzzz
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/8/5 22:14
  • 上次更新2023/10/27 16:49:16
查看原帖
hack & 修题面
174045
FZzzz楼主2022/8/5 22:14

幻影忍者前情提要

hack:

4 3
2 1 3 2
1 2 2 3

叉掉了以下题解:

剩下的题解有的是我看不懂的做法,比如 @litc 的题解;有的我敢说他们是碰对的。不过,对于 @litc ,虽然他在 13 年的提交可以通过这组 hack,但他在 15 年的提交会出错。

另外还有一组 hack 数据:

3 3
1 2 1
1 1 2

不过很遗憾没有叉掉任何题解()但你可以用它来验证你的做法。

正确的做法及证明可以看我的题解

另外是修题面。原来的题面又不清晰又没 latex,我重写了一份。

题目描述

给定一个由 nn 个元素构成的序列 aa 以及一个正整数 cc。还有一个栈和一个结果序列,初始都为空。你需要进行 2n2n 次操作,每次是以下两种形式之一:

  • 如果栈内元素少于 cc 个,并且 aa 内有元素没有被入栈,可以进行这个操作。把 aa 里第一个没被入栈的元素入栈。
  • 如果栈不为空,可以进行这个操作。把栈顶元素添加到结果序列的末尾,然后出栈。

你需要最小化最后结果序列的字典序。输出这个字典序最小的结果序列。

对于两个长度为 nn 的序列 aabbaa 的字典序小于 bb,当且仅当存在整数 ii 满足 1in1\le i\le n 使得对于所有整数 1j<i1\le j<iaj=bja_j=b_j,且 ai<bia_i<b_i

输入格式

第一行两个空格隔开的整数 nncc,表示序列的长度和栈的最大容量。

第二行 nn 个空格隔开的整数,第 ii 个数 aia_i 表示序列 aa 的第 ii 个元素。

输出格式

输出一行 nn 个单个空格隔开的整数,表示字典序最小的结果序列。

说明/提示

  • 对于 40%40\% 的数据,n12n\le12

对于 100%100\% 的数据,1mn1041\le m\le n\le 10^4,(然后是 aia_i 的范围,建议查看数据,因为原题只说了上界没说下界)。

## 题目描述
给定一个由 $n$ 个元素构成的序列 $a$ 以及一个正整数 $c$。还有一个栈和一个结果序列,初始都为空。你需要进行 $2n$ 次操作,每次是以下两种形式之一:
- 如果栈内元素少于 $c$ 个,并且 $a$ 内有元素没有被入栈,可以进行这个操作。把 $a$ 里第一个没被入栈的元素入栈。
- 如果栈不为空,可以进行这个操作。把栈顶元素添加到结果序列的末尾,然后出栈。

你需要最小化最后结果序列的字典序。输出这个字典序最小的结果序列。

对于两个长度为 $n$ 的序列 $a$ 和 $b$,$a$ 的字典序小于 $b$,当且仅当存在整数 $i$ 满足 $1\le i\le n$ 使得对于所有整数 $1\le j<i$ 有 $a_j=b_j$,且 $a_i<b_i$。
## 输入格式
第一行两个空格隔开的整数 $n$ 和 $c$,表示序列的长度和栈的最大容量。

第二行 $n$ 个空格隔开的整数,第 $i$ 个数 $a_i$ 表示序列 $a$ 的第 $i$ 个元素。
## 输出格式
输出一行 $n$ 个单个空格隔开的整数,表示字典序最小的结果序列。
## 说明/提示
- 对于 $40\%$ 的数据,$n\le12$。

对于 $100\%$ 的数据,$1\le m\le n\le 10^4$,(然后是 $a_i$ 的范围,建议查看数据,因为原题只说了上界没说下界)。
2022/8/5 22:14
加载中...