QOJ.ac

QOJ

Limite de temps : 10 s Limite de mémoire : 512 MB Points totaux : 100 Difficulté: [afficher] Hackable ✓

#1222. מצולע

Statistiques

久莲 היא נערה שאוהבת לחבר בעיות.

לאחר סיום ה־World Final השנה, 久莲 התלהבה במיוחד מגאומטריה חישובית, ולכן החליטה לתת גם בתחרות NOI בעיית גאומטריה חישובית: זו בעיה שרק שמה קשור לגאומטריה חישובית.

ראשית, 久莲 נותנת עץ מושרש $T$ ובו $n$ צמתים ($n\ge2$), ששורשו הוא צומת מספר $1$. עלים מוגדרים ככל הצמתים, מלבד השורש, שדרגתם בדיוק $1$. באיור הבא דוגמה לעץ $T$, שקבוצת העלים שלו היא $\{3,4,5\}$.

problem_1222_29bb8620f60847af6b7a87ca07161e72.png

לאחר מכן, באמצעות העץ, 久莲 בונה סדרה $A$:

  • מבצעים סריקה לעומק של העץ כולו החל מהשורש, ובכל צומת מבקרים בילדיו בסדר עולה של מספריהם. כך מתקבל סדר DFS של העץ $T$.
  • לפי סדר הופעתם בסדר ה־DFS, מההתחלה לסוף, 久莲 מסדרת את כל העלים בשורה ומקבלת את הסדרה $A$.

באמצעות $A$, 久莲 מגדירה גם את המרחק $d(u,v)$ בין שני עלים $u,v$: אם $u$ הוא האיבר ה־$i$ ב־$A$ ו־$v$ הוא האיבר ה־$j$, אז $d(u,v)=\min(|i-j|,|A|-|i-j|)$. כאן $|A|$ הוא אורך הסדרה, כלומר מספר העלים ב־$T$, ו־$i,j$ מציינים מיקומים הממוספרים החל מ־$1$.

בדוגמה לעיל, $A=[4,5,3]$ ומתקיים $d(3,5)=d(3,4)=d(4,5)=1$. מיקומיהם של $3,4,5$ הם $3,1,2$, בהתאמה.

לבסוף, 久莲 נותנת פרמטר $K$. באמצעות העץ המושרש $T$ והסדרה $A$, אפשר לבנות גרף לא מכוון $G$ ובו $n$ צמתים, ללא קשתות מקבילות וללא לולאות עצמיות: שני צמתים שונים $u,v$ מחוברים בקשת אם ורק אם הם מקיימים לפחות אחד מהתנאים הבאים:

  • בעץ $T$ יש קשת המחברת את $u,v$.
  • שני הצמתים $u,v$ הם עלים בעץ $T$, ומתקיים $d(u,v)\le K$.

כאשר $K=1$ או $K=2$, הגרף $G$ המתקבל מהדוגמה לעיל הוא הגרף שבאיור הבא בשני המקרים:

כעת 久莲 מבקשת שתחשבו כמה מעגלים המילטוניים שונים יש ב־$G$. התשובה עשויה להיות גדולה; הדפיסו אותה מודולו $998244353$.

problem_1222_cada1236b9bea63818a7372f7f4fb42a.png

להלן כמה הגדרות נוספות:

  • מעגל המילטוני $H$ בגרף לא מכוון $G$ ללא קשתות מקבילות וללא לולאות עצמיות הוא תת־קבוצה של קשתות $G$, כך שלכל צומת בדיוק שתי קשתות שונות הנוגעות בו שייכות ל־$H$, ואפשר להגיע מכל צומת לכל צומת אחר, ישירות או בעקיפין, באמצעות קשתות $H$.
  • שני מעגלים המילטוניים $H_1,H_2$ בגרף לא מכוון $G$ ללא קשתות מקבילות וללא לולאות עצמיות שונים אם ורק אם קיימת קשת $e$ השייכת ל־$H_1$ ואינה שייכת ל־$H_2$.

קלט

קראו את הנתונים מהקובץ polygon.in.

בשורה הראשונה שני מספרים שלמים $n,K$, מספר הצמתים בעץ $T$ והפרמטר $K$ שבחרה 久莲.

בשורה השנייה $n-1$ מספרים שלמים $f_i$ ($1\le f_i\le i$), כאשר $f_i$ מציין שבעץ $T$ קיימת קשת $(f_i,i+1)$.

פלט

כתבו את הפלט לקובץ polygon.out.

הדפיסו שורה ובה מספר שלם אחד: מספר המעגלים ההמילטוניים מודולו $998244353$.

דוגמאות

קלט 1

5 1
1 1 2 2

פלט 1

2

הסבר

דוגמה זו זהה לחלוטין לדוגמה שבגוף הבעיה. סדרי הצמתים בשני המעגלים ההמילטוניים הם $(1,2,4,5,3)$ ו־$(1,2,5,4,3)$.

תת־משימות

גודלי הנתונים ותכונותיהם בכל בדיקה מפורטים בטבלה הבאה:

מספר $n$ $K$ תכונה מיוחדת מספר $n$ $K$ תכונה מיוחדת
$1$ $\le5$ $\le3$ אין $11$ $\le1000$ $\le2$ A
$2$ $\le10$ $12$
$3$ $\le15$ $13$
$4$ $\le20$ $14$ אין
$5$ $\le1000$ $=1$ A $15$
$6$ $16$
$7$ $17$ $\le3$ A
$8$ אין $18$
$9$ $19$ אין
$10$ $20$

בתכונה A מובטח שלכל צומת בעץ יש לכל היותר שני ילדים.

בכל הנתונים מובטח $1\le f_i\le i$ ו־$2\le n\le1000$.

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.