Universal Cup Judging System

Universal Cup

時間限制: 4.0 s 記憶體限制: 256 MB 總分: 100 可 Hack ✓
统计

تُعطى شجرة تحتوي على $N$ من العقد و $N - 1$ من الحواف، حيث لكل حافة $i$ مستوى تعقيد $l_i$. المسافة $d(u, v)$ بين عقدتين $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$)، تصف حافة $i$ تربط العقدتين $a_i$ و $b_i$ بتعقيد $l_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.