Universal Cup Judging System

Universal Cup

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

$N$ төбесі мен $N - 1$ қыры бар ағаш берілген, мұндағы әрбір $i$ қырының күрделілік деңгейі $l_i$-ге тең. Екі $u$ және $v$ төбелерінің арасындағы $d(u, v)$ арақашықтығы — ағаштағы оларды қосатын жалғыз жол бойындағы күрделілік деңгейлерінің қосындысы. $d(u, v) = d(v, u)$ және $d(v, v) = 0$ екенін ескеріңіз.

Барлығы $M$ жұмбақ бар, және әрбір $i$ жұмбағы ағаштың белгілі бір қырларында орналасқан $k_i$ ақпарат бөлігін қажет етеді. Бір қырдың бойында бірнеше ақпарат бөлігі болуы мүмкін!

Кез келген екі $S$ және $T$ төбелері үшін, егер $S$-тен $T$-ға дейінгі жол бойында кездескен кез келген жұмбаққа қажетті барлық ақпарат бөліктері жиналса, $S$ пен $T$ арасындағы саяхат сәтті болып саналады. Нақтырақ айтқанда, егер сол жұмбаққа қажетті барлық ақпарат бөліктері жол бойында кездессе, жұмбақ саяхат барысында шешілетін болып есептеледі.

Тапсырма — кез келген екі $S$ және $T$ төбелері (мұндағы $1 \le S \le T \le N$) арасындағы барлық сәтті саяхаттар үшін арақашықтықтар қосындысын $10^9 + 7$ модулі бойынша есептеу.

Формальды түрде, есептеу керек өрнек:

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

$S$ төбесінен бастап, ағаштағы жалғыз жолмен басқа $T$ төбесіне бару керек. Жол-жөнекей осы жолдың қырларында орналасқан кез келген ақпарат бөлігі автоматты түрде жиналады. $S$-тен $T$-ға дейінгі саяхат сәтті деп саналуы үшін ол келесі шартты қанағаттандыруы тиіс:

  • $O$ — саяхат барысында кемінде бір ақпарат бөлігі жиналған жұмбақтар жиыны болсын. Саяхат тек және тек $O$ жиынындағы әрбір жұмбақты шешуге қажетті барлық ақпарат бөліктері жиналған жағдайда ғана сәтті болады. Басқаша айтқанда, сіз $O$ жиынындағы әрбір жұмбақты толық шешуге қажетті әрбір ақпарат бөлігін жинауыңыз керек.

Кіріс деректері

Бірінші жолда бос орын арқылы бөлінген екі бүтін сан $N$ және $M$ ($2 \le N \le 10^6, 1 \le M \le 10^6$) берілген.

Одан кейін $N - 1$ жол беріледі, олардың әрқайсысында бос орын арқылы бөлінген үш бүтін сан $a_i, b_i, l_i$ ($1 \le a_i, b_i \le N, 1 \le l_i \le 10^9$) бар — бұл $a_i$ және $b_i$ төбелерін қосатын күрделілігі $l_i$ болатын $i$ қырын сипаттайды.

Содан кейін $M$ жұмбақтың сипаттамасы беріледі. Әрбір $i$ жұмбағы үшін кіріс деректері $k_i$ санынан және одан кейін бос орын арқылы бөлінген $k_i$ бүтін саннан $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$) тұратын бір жолдан басталады, мұндағы $u_{i_j}$ — жұмбақты шешуге қажетті ақпарат бөліктері орналасқан қырлардың индекстері.

Мұндағы $K$ — барлық жұмбақтар бойынша барлық $k_i$ мәндерінің қосындысы, және $1 \le K \le 10^6$ екеніне кепілдік беріледі.

Шығыс деректері

Бір бүтін саннан тұратын бір жолды — есептің $10^9 + 7$ модулі бойынша жауабын шығарыңыз.

Мысал

Кіріс мысалы 1

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

Шығыс мысалы 1

17

Ескертпе

problem_15524_1.png

1-сурет. Ағаштың құрылымы. Ромбтар — ақпарат бөліктері, ал қырлардағы мәндер — күрделілік деңгейлері.

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.