QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100
Statistics

Se te proporciona una baraja de $n$ cartas numeradas del $1$ al $n$ (no necesariamente en este orden en la baraja). Debes ordenar la baraja repitiendo la siguiente operación.

Elige $2 \le k \le n$ y divide la baraja en $k$ partes contiguas no vacías $D_1, D_2, \dots, D_k$ ($D_1$ contiene las primeras $|D_1|$ cartas de la baraja, $D_2$ contiene las siguientes $|D_2|$ cartas, y así sucesivamente). Luego, invierte el orden de las partes, transformando la baraja en $D_k, D_{k-1}, \dots, D_2, D_1$ (de modo que las primeras $|D_k|$ cartas de la nueva baraja sean $D_k$, las siguientes $|D_{k-1}|$ cartas sean $D_{k-1}$, y así sucesivamente). El orden interno de cada paquete de cartas $D_i$ no cambia con la operación.

Debes obtener una baraja ordenada (es decir, una baraja donde la primera carta sea $1$, la segunda sea $2$, y así sucesivamente) realizando como máximo $120$ operaciones. Se puede demostrar que siempre es posible ordenar la baraja realizando como máximo $120$ operaciones bajo las limitaciones de este problema.

Ejemplos de operación: los siguientes son tres ejemplos de operaciones válidas (en tres barajas con diferentes tamaños).

  • Si la baraja es $[3\ 6\ 2\ 1\ 4\ 5\ 7]$ (por lo que $3$ es la primera carta y $7$ es la última), podemos aplicar la operación con $k = 4$ y $D_1 = [3\ 6]$, $D_2 = [2\ 1\ 4]$, $D_3 = [5]$, $D_4 = [7]$. Al hacerlo, la baraja se convierte en $[7\ 5\ 2\ 1\ 4\ 3\ 6]$.
  • Si la baraja es $[3\ 1\ 2]$, podemos aplicar la operación con $k = 3$ y $D_1 = [3]$, $D_2 = [1]$, $D_3 = [2]$. Al hacerlo, la baraja se convierte en $[2\ 1\ 3]$.
  • Si la baraja es $[5\ 1\ 2\ 4\ 3\ 6]$, podemos aplicar la operación con $k = 2$ y $D_1 = [5\ 1]$, $D_2 = [2\ 4\ 3\ 6]$. Al hacerlo, la baraja se convierte en $[2\ 4\ 3\ 6\ 5\ 1]$.

Entrada

La primera línea de la entrada contiene un entero $n$ ($1 \le n \le 20\,000$) — el número de cartas en la baraja. La segunda línea contiene $n$ enteros $c_1, c_2, \dots, c_n$ — las cartas en la baraja. La primera carta es $c_1$, la segunda es $c_2$, y así sucesivamente. Se garantiza que para todo $i \in \{1, \dots, n\}$ existe exactamente un $j \in \{1, \dots, n\}$ tal que $c_j = i$.

Salida

En la primera línea, imprime el número $q$ de operaciones que realizas (debe cumplirse que $0 \le q \le 120$). Luego, imprime $q$ líneas, cada una describiendo una operación. Para describir una operación, imprime en una sola línea el número $k$ de partes en las que vas a dividir la baraja, seguido de los tamaños de las $k$ partes: $|D_1|, |D_2|, \dots, |D_k|$. Debe cumplirse que $2 \le k \le n$, $|D_i| \ge 1$ para todo $i = 1, \dots, k$, y $|D_1| + |D_2| + \dots + |D_k| = n$. Se puede demostrar que siempre es posible ordenar la baraja realizando como máximo $120$ operaciones bajo las limitaciones de este problema. Si hay varias formas de ordenar la baraja, puedes imprimir cualquiera de ellas. Ten en cuenta que no tienes que minimizar $q$.

Ejemplos

Entrada 1

4
3 1 2 4

Salida 1

2
3 1 2 1
2 1 3

Entrada 2

6
6 5 4 3 2 1

Salida 2

1
6 1 1 1 1 1 1

Entrada 3

1
1

Salida 3

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.