Universal Cup Judging System

Universal Cup

Time Limit: 4.0 s Memory Limit: 256 MB Total points: 100 Hackable ✓
Statistics

Gefið er tré með $N$ hnútum og $N - 1$ leggjum, þar sem hver leggur $i$ hefur flækjustig $l_i$. Fjarlægðin $d(u, v)$ milli tveggja hnúta $u$ og $v$ er summa flækjustiganna eftir eina vegarins milli þeirra í trénu. Athugið að $d(u, v) = d(v, u)$ og $d(v, v) = 0$.

Það eru $M$ þrautir og hver þraut $i$ krefst $k_i$ upplýsingabúta sem eru staðsettir á tilteknum leggjum í trénu. Það er mögulegt að margir upplýsingabútar séu á sama legg!

Fyrir hvaða tvo hnúta $S$ og $T$ sem er, þá tekst ferðalag milli $S$ og $T$ ef allir nauðsynlegir upplýsingabútar fyrir sérhverja þraut sem verður á vegi manns á leiðinni frá $S$ til $T$ eru safnaðir. Nánar tiltekið telst þraut leysanleg á ferðalagi ef allir nauðsynlegir upplýsingabútar fyrir þá þraut verða á vegi manns á leiðinni.

Verkefnið er að reikna summu fjarlægða fyrir öll vel heppnuð ferðalög milli hvaða tveggja hnúta $S$ og $T$ sem er (þar sem $1 \le S \le T \le N$), modulo $10^9 + 7$.

Formlega séð er verkefnið að reikna:

$$\sum_{\substack{1 \le S \le T \le N, \\ \text{journey } (S, T) \text{ is successful}}} d(S, T)$$

Með upphafsstað í hnúti $S$ þarftu að ferðast til annars hnúts $T$ eftir eina veginum í trénu. Á leiðinni safnast sjálfkrafa allir upplýsingabútar sem eru á leggjum þessa vegar. Til þess að ferðalagið frá $S$ til $T$ teljist hafa tekist verður það að uppfylla eftirfarandi skilyrði:

  • Látum $O$ vera mengi þeirra þrauta sem að minnsta kosti einum upplýsingabút hefur verið safnað fyrir á ferðalaginu. Ferðalagið tekst ef og aðeins ef öllum upplýsingabútum sem þarf til að leysa hverja þraut í menginu $O$ hefur verið safnað. Með öðrum orðum verður þú að hafa safnað sérhverjum upplýsingabút sem þarf til að leysa hverja þraut í $O$ að fullu.

Inntak

Fyrsta línan inniheldur tvær heiltölur aðskildar með bili $N$ og $M$ ($2 \le N \le 10^6, 1 \le M \le 10^6$).

Síðan fylgja $N - 1$ línur, þar sem hver lína inniheldur þrjár heiltölur aðskildar með bili $a_i, b_i, l_i$ ($1 \le a_i, b_i \le N, 1 \le l_i \le 10^9$), sem lýsa legg $i$ sem tengir hnútana $a_i$ og $b_i$ með flækjustigi $l_i$.

Síðan fylgja skilgreiningar á $M$ þrautum. Fyrir hverja þraut $i$ byrjar inntakið á einni línu sem inniheldur $k_i$ og í kjölfarið koma $k_i$ heiltölur aðskildar með bili $u_{i_1}, u_{i_2}, \dots, u_{i_{k_i}}$ ($0 \le k_i \le K, 1 \le u_{i_j} \le N - 1$), þar sem $u_{i_j}$ eru númer leggjanna sem upplýsingabútarnir sem þarf til að leysa þrautina eru á.

Hér er $K$ summa allra gilda $k_i$ yfir allar þrautir, og tryggt er að $1 \le K \le 10^6$.

Úttak

Prentaðu eina línu sem inniheldur eina heiltölu, svarið við verkefninu modulo $10^9 + 7$.

Dæmi

Dæmi um inntak 1

5 4
1 2 3
1 4 1
1 5 6
4 3 2
2 4 4
1 1
0
2 3 4

Dæmi um úttak 1

17

Athugasemd

problem_15524_1.png

Mynd 1. Bygging trésins. Tígullinn táknar upplýsingabútana og gildin á leggjunum eru flækjustigin.

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.