Universal Cup Judging System

Universal Cup

Límite de tiempo: 1.0 s Límite de memoria: 1024 MB Puntuación total: 100 Dificultad: [mostrar] Hackeable ✓
Estadísticas

在練習了數繪(Fillomino)技巧後,小藍魚(Little Cyan Fish)決定在遊戲「The Artisan of Glimmith」中進行更多訓練。

小藍魚首先向你介紹了數繪的規則:

對於一個 $m$ 列 $n$ 行的網格,將其劃分為若干個區域(每個區域的單元格必須正交相連),使得任意兩個相鄰區域的面積不同。 網格中的某些單元格已經填有數字。該數字表示它所屬區域的面積。

problem_18007_e875ed6aff86064e6bfc40f5b6e7c6a4.png

數繪謎題的一個例子。來源:Puzzle GP 2022 R4

現在小藍魚給你一個數繪棋盤,他想讓你為這個數繪謎題構造任意一個合法解。

當然,這個問題對小藍魚來說太難了,所以你只需要解決 $m = 1$ 的情況。換句話說,給定一列 $n$ 個單元格,你想將這些單元格劃分為若干個線段(每個線段完全包含若干個連續的單元格),要求:

  • 任意兩個相鄰線段的長度不同;
  • 某些單元格包含一些數字,這些數字表示該單元格所屬線段的單元格數量(即線段長度)。

小藍魚請你判斷該棋盤是否存在合法解。如果存在,你還需要輸出任意一個合法解。

輸入格式

有多筆測試資料。輸入的第一行包含一個整數 $T$ ($1 \le T$),表示測試資料的組數。

對於每筆測試資料,輸入的第一行包含一個整數 $n$ ($1 \le n \le 10^6$)。

下一行包含 $n$ 個整數 $a_1, a_2, \dots, a_n$ ($0 \le a_i \le n$)。如果 $a_i = 0$,表示第 $i$ 個單元格中沒有填入數字。否則,表示第 $i$ 個單元格中填入了數字 $a_i$。

保證所有測試資料中 $n$ 的總和不超過 $10^6$。

輸出格式

對於每筆測試資料,如果不存在任何合法的填數方案,則輸出單行「No」。

否則,輸出的第一行包含字串「Yes」。下一行輸出 $n$ 個整數,表示在你構造的方案中,每個單元格所在線段的長度。如果存在多個滿足要求的方案,你可以輸出其中任意一個。

範例

輸入 1

7
3
0 0 0
4
2 0 0 0
4
0 2 0 0
6
0 3 3 0 3 0
10
2 0 0 3 0 0 4 0 0 1
6
0 0 1 1 0 0
6
1 2 3 4 5 6

輸出 1

Yes
2 2 1
No
Yes
1 2 2 1
No
Yes
2 2 3 3 3 4 4 4 4 1
No
No

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.