QOJ.ac

QOJ

実行時間制限: 2.0 s メモリ制限: 1024 MB 満点: 100 ハック可能 ✓

#17754. All-Star-Showdown

統計

In einer mutigen Abkehr von der Tradition bietet der große Wettbewerb in diesem Jahr einen besonderen All-Star-Showdown: ein Showmatch, bei dem zwei Elitetrupps, Team Rot (Team Red) und Team Blau (Team Blue), in einem direkten Programmierduell gegeneinander antreten. Anders als beim Standardformat erlaubt dieses Match flexible Teamgrößen, solange jeder Teilnehmer genau einem Team zugewiesen wird.

Es gibt $n$ All-Star-Teilnehmer, die aus der Ruhmeshalle ausgewählt wurden. Jeder Teilnehmer $i$ wird in drei Kerndimensionen bewertet: algorithmisches Verständnis, Implementierungsgeschwindigkeit und Debugging-Belastbarkeit. Diese Attribute werden als positive ganze Zahlen $(x_i, y_i, z_i)$ quantifiziert und bilden einen 3D-Fähigkeitsvektor, der ihr Wettbewerbsprofil erfasst. Zusätzlich wird jedem Teilnehmer $i$ ein positiver ganzzahliger Synergiewert $w_i$ zugewiesen, der seine Fähigkeit widerspiegelt, die Teamleistung zu verstärken. Der Gesamtwert eines Teams ist definiert als das Produkt der Synergiewerte seiner Mitglieder.

Um die Integrität des Wettbewerbs zu wahren und eine Dominanz durch Gruppen stilistisch ähnlicher Programmierer zu verhindern, setzen die Organisatoren eine strenge Diversitätsregel durch: Innerhalb jedes einzelnen Teams muss der euklidische Abstand zwischen den Fähigkeitsvektoren zweier beliebiger Mitglieder mindestens $d$ betragen. Formal muss für zwei beliebige verschiedene Teilnehmer $i$ und $j$ im selben Team gelten, dass $\sqrt{(x_i - x_j)^2 + (y_i - y_j)^2 + (z_i - z_j)^2} \ge d$. Dies stellt sicher, dass jedes Team aus einer ausgewogenen Mischung von Problemlösungsansätzen besteht.

Das Organisationskomitee möchte die kombinatorische Landschaft aller gültigen Zuweisungen analysieren. Insbesondere bittet es für jede ganze Zahl $k = 1, 2, \dots, n - 1$ um die Summe der Werte von Team Rot über alle gültigen Partitionen, in denen Team Rot genau $k$ Teilnehmer enthält.

Da die Antworten groß sein können, geben Sie diese modulo $998\,244\,353$ aus.

Eingabe

In jeder Testdatei gibt es nur einen Testfall.

Die erste Zeile enthält zwei ganze Zahlen $n$ und $d$ ($2 \le n \le 10^5$, $1 \le d \le 10^8$).

In den folgenden $n$ Zeilen enthält die $i$-te Zeile vier ganze Zahlen $x_i$, $y_i$, $z_i$ und $w_i$ ($1 \le x_i, y_i, z_i, w_i \le 10^8$), die den Fähigkeitsvektor und den Synergiewert von Teilnehmer $i$ angeben.

Ausgabe

Geben Sie $(n - 1)$ Zeilen aus, wobei die $i$-te Zeile eine ganze Zahl enthält, die die Summe der Werte von Team Rot über alle gültigen Partitionen angibt, in denen Team Rot genau $i$ Teilnehmer enthält, modulo $998\,244\,353$.

Beispiele

Beispieleingabe 1

3 1
1 1 1 1
1 2 1 10
1 2 3 100

Beispielausgabe 1

111
1110

Beispieleingabe 2

3 2
1 1 1 1
1 2 1 10
1 2 3 100

Beispielausgabe 2

11
1100

Beispieleingabe 3

3 2
2 1 1 1
1 2 1 10
1 1 2 100

Beispielausgabe 3

0
0

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.