Universal Cup Judging System

Universal Cup

Süre Sınırı: 4.0 s Bellek Sınırı: 256 MB Toplam puan: 100 Hack'lenebilir ✓
İstatistikler

Diberikan sebuah pohon dengan $N$ simpul dan $N - 1$ sisi, di mana setiap sisi $i$ memiliki tingkat kompleksitas $l_i$. Jarak $d(u, v)$ antara dua simpul $u$ dan $v$ adalah jumlah tingkat kompleksitas di sepanjang lintasan tunggal di antara keduanya pada pohon. Perhatikan bahwa $d(u, v) = d(v, u)$ dan $d(v, v) = 0$.

Terdapat $M$ teka-teki, dan setiap teka-teki $i$ membutuhkan $k_i$ potongan informasi, yang terletak di sepanjang sisi-sisi tertentu pada pohon. Mungkin saja terdapat beberapa potongan informasi pada sisi yang sama!

Untuk sembarang dua simpul $S$ dan $T$, suatu perjalanan antara $S$ dan $T$ dikatakan berhasil jika, di sepanjang lintasan dari $S$ ke $T$, semua potongan informasi yang diperlukan untuk setiap teka-teki yang ditemui berhasil dikumpulkan. Secara spesifik, sebuah teka-teki dianggap dapat dipecahkan selama perjalanan jika semua potongan informasi yang diperlukan untuk teka-teki tersebut ditemui di sepanjang lintasan.

Tugasnya adalah menghitung jumlah jarak untuk semua perjalanan yang berhasil antara sembarang dua simpul $S$ dan $T$ (di mana $1 \le S \le T \le N$), modulo $10^9 + 7$.

Secara formal, tugasnya adalah menghitung:

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

Dimulai dari sebuah simpul $S$, Anda perlu melakukan perjalanan ke simpul lain $T$ di sepanjang lintasan tunggal pada pohon. Di sepanjang jalan, setiap potongan informasi yang terletak pada sisi-sisi lintasan ini akan dikumpulkan secara otomatis. Agar perjalanan dari $S$ ke $T$ dianggap berhasil, perjalanan tersebut harus memenuhi syarat berikut:

  • Misalkan $O$ adalah himpunan teka-teki yang setidaknya satu potongan informasinya telah dikumpulkan selama perjalanan. Perjalanan tersebut berhasil jika dan hanya jika semua potongan informasi yang diperlukan untuk memecahkan setiap teka-teki di dalam himpunan $O$ telah dikumpulkan. Dengan kata lain, Anda harus telah mengumpulkan setiap potongan informasi yang dibutuhkan untuk memecahkan setiap teka-teki di dalam $O$ secara tuntas.

Masukan

Baris pertama berisi dua bilangan bulat yang dipisahkan spasi $N$ dan $M$ ($2 \le N \le 10^6, 1 \le M \le 10^6$).

Kemudian, $N - 1$ baris berikutnya masing-masing berisi tiga bilangan bulat yang dipisahkan spasi $a_i, b_i, l_i$ ($1 \le a_i, b_i \le N, 1 \le l_i \le 10^9$), yang mendeskripsikan sebuah sisi $i$ yang menghubungkan simpul $a_i$ dan $b_i$ dengan kompleksitas $l_i$.

Kemudian, definisi dari $M$ teka-teki menyusul. Untuk setiap teka-teki $i$, masukan terdiri dari satu baris yang berisi $k_i$ diikuti oleh $k_i$ bilangan bulat yang dipisahkan spasi $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$), di mana $u_{i_j}$ adalah indeks dari sisi-sisi tempat potongan informasi yang diperlukan untuk memecahkan teka-teki tersebut berada.

Di sini, $K$ adalah jumlah dari semua nilai $k_i$ di seluruh teka-teki, dan dijamin bahwa $1 \le K \le 10^6$.

Keluaran

Keluarkan satu baris yang berisi satu bilangan bulat, yaitu jawaban untuk persoalan ini modulo $10^9 + 7$.

Contoh

Contoh Masukan 1

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

Contoh Keluaran 1

17

Catatan

problem_15524_1.png

Gambar 1. Struktur pohon. Belah ketupat adalah potongan informasi, dan nilai pada sisi-sisinya adalah kompleksitas.

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.