QOJ.ac

QOJ

时间限制: 4 s 内存限制: 256 MB 总分: 100

#957. Problema de asignación

统计

Hay $m$ puestos vacantes en nuestra empresa y $n \ge m$ candidatos para estos puestos. Obviamente, queremos contratar a los mejores candidatos. No podemos contratar al mismo candidato para dos o más puestos diferentes, por lo que debemos contratar exactamente a $m$ candidatos. Llamaremos asignación a la forma de elegir candidatos diferentes para cada puesto. Dos asignaciones son diferentes si existe un puesto para el cual contratamos candidatos distintos en dichas asignaciones.

Existe una matriz $A$ de beneficios: $A_{ij} \ge 0$ denota el beneficio que obtendremos al contratar al $j$-ésimo candidato para el $i$-ésimo puesto. Queremos maximizar la suma de los beneficios que obtendremos de todas las contrataciones. Una asignación es óptima si maximiza la suma de los beneficios.

Sería fácil elegir a los mejores candidatos dada la matriz $A$. Desafortunadamente, el mundo de Recursos Humanos no es tan simple y no pueden proporcionarte la matriz $A$. Incluso después de entrevistar a todos los candidatos, solo podemos comparar cómo se comportarán dos candidatos en el mismo puesto. Más precisamente, conocemos $m$ permutaciones $P_i$ de longitud $n$. Para todo $1 \le i \le m$, $1 \le x < y \le n$: $A_{iP_{ix}} > A_{iP_{iy}}$. En palabras sencillas, para cada puesto conocemos la clasificación de todos los candidatos.

Un candidato es prometedor si y solo si existe una matriz $A$ que sea consistente con todas las clasificaciones dadas, tal que para esta matriz exista solo una asignación óptima y este candidato en particular sea contratado.

Debes encontrar todos los candidatos prometedores para que podamos realizar pruebas más exhaustivas con ellos.

Entrada

La primera línea contiene dos enteros $n$ y $m$ ($1 \le m \le 11$, $m \le n \le 1000$), el número de candidatos y el número de puestos.

Las siguientes $m$ líneas contienen las clasificaciones para cada puesto. La $i$-ésima línea contiene una permutación $P_{i1}, P_{i2}, \dots, P_{in}$ de números del $1$ al $n$.

Salida

En la primera línea imprime el número de candidatos prometedores; en la segunda línea imprime los índices de los candidatos prometedores en orden creciente.

Ejemplos

Entrada 1

4 2
1 2 4 3
1 3 4 2

Salida 1

3
1 2 3

Entrada 2

4 2
1 4 3 2
2 3 4 1

Salida 2

2
1 2

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#317EditorialOpen题解jiangly2026-01-09 10:10:43View

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.