QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 256 MB Puntuación total: 100

#962. Спасибо MikeMirzayanov

Estadísticas

... за прекрасные платформы Codeforces и Polygon. Также спасибо XTX Markets за поддержку Codeforces Global Rounds. И большое спасибо dario2994, который был автором Codeforces Global Round 11 и разрешил использовать свою задачу https://codeforces.com/contest/1427/problem/D. Да, это та же самая задача, если не считать того, что решение за $n$ операций — это довольно скучно, не находите?

Вам дана колода из $n$ карт, пронумерованных от $1$ до $n$ (не обязательно в порядке возрастания). Вам нужно отсортировать колоду, повторяя следующую операцию.

Выберите $2 \le k \le n$ и разбейте колоду на $k$ непустых последовательных частей $D_1, D_2, \dots, D_k$ ($D_1$ содержит первые $|D_1|$ карт колоды, $D_2$ содержит следующие $|D_2|$ карт и так далее). Затем измените порядок частей на обратный, преобразуя колоду в $D_k, D_{k-1}, \dots, D_2, D_1$ (таким образом, первые $|D_k|$ карт новой колоды — это $D_k$, следующие $|D_{k-1}|$ карт — это $D_{k-1}$ и так далее). Внутренний порядок карт в каждой пачке $D_i$ при выполнении операции не меняется.

Вам нужно получить отсортированную колоду (то есть колоду, где первая карта — $1$, вторая — $2$ и так далее), выполнив не более $120$ операций. Можно доказать, что отсортировать колоду за не более чем $120$ операций при данных ограничениях всегда возможно.

Примеры операции: ниже приведены три примера корректных операций (на трех колодах разного размера).

  • Если колода имеет вид $[3\ 6\ 2\ 1\ 4\ 5\ 7]$ (где $3$ — первая карта, а $7$ — последняя), мы можем применить операцию с $k = 4$ и $D_1 = [3\ 6]$, $D_2 = [2\ 1\ 4]$, $D_3 = [5]$, $D_4 = [7]$. В результате колода станет $[7\ 5\ 2\ 1\ 4\ 3\ 6]$.
  • Если колода имеет вид $[3\ 1\ 2]$, мы можем применить операцию с $k = 3$ и $D_1 = [3]$, $D_2 = [1]$, $D_3 = [2]$. В результате колода станет $[2\ 1\ 3]$.
  • Если колода имеет вид $[5\ 1\ 2\ 4\ 3\ 6]$, мы можем применить операцию с $k = 2$ и $D_1 = [5\ 1]$, $D_2 = [2\ 4\ 3\ 6]$. В результате колода станет $[2\ 4\ 3\ 6\ 5\ 1]$.

Входные данные

В первой строке входных данных содержится целое число $n$ ($1 \le n \le 20\,000$) — количество карт в колоде. Во второй строке содержатся $n$ целых чисел $c_1, c_2, \dots, c_n$ — карты в колоде. Первая карта — $c_1$, вторая — $c_2$ и так далее. Гарантируется, что для всех $i = 1, \dots, n$ существует ровно один $j \in \{1, \dots, n\}$ такой, что $c_j = i$.

Выходные данные

В первой строке выведите число $q$ выполненных вами операций ($0 \le q \le 120$). Затем выведите $q$ строк, каждая из которых описывает одну операцию. Для описания операции выведите в одной строке число $k$ — количество частей, на которые вы разбиваете колоду, а затем размеры этих $k$ частей: $|D_1|, |D_2|, \dots, |D_k|$. Должно выполняться условие $2 \le k \le n$, $|D_i| \ge 1$ для всех $i = 1, \dots, k$, и $|D_1| + |D_2| + \dots + |D_k| = n$. Можно доказать, что отсортировать колоду за не более чем $120$ операций при данных ограничениях всегда возможно. Если существует несколько способов отсортировать колоду, вы можете вывести любой из них. Заметьте, что минимизировать $q$ не требуется.

Примеры

Пример 1

4
3 1 2 4
2
3 1 2 1
2 1 3

Пример 2

6
6 5 4 3 2 1
1
6 1 1 1 1 1 1

Пример 3

1
1
0

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#613Editorial Open集训队作业 解题报告 by 王一策Qingyu2026-01-02 23:10:06 Download
#592Editorial Open集训队作业 解题报告 by 孙梓航Qingyu2026-01-02 22:41:14 Download
#322EditorialOpen题解jiangly2025-12-14 07:04:55View

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.