QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#114. بناء طريق سريع

Statistics

توجد $N$ مدينة في مملكة JOI، مرقمة بالأعداد من $1$ إلى $N$. المدينة $1$ هي العاصمة. لكل مدينة قيمة تسمى الحيوية، والقيمة الأولية لحيوية المدينة $i$ ($1\le i\le N$) هي $C_i$.

يربط كل طريق في مملكة JOI مدينتين مختلفتين في الاتجاهين. في البداية، لا توجد أي طرق في المملكة. لقد خططت لبناء $N-1$ طريقًا. ستُنفذ عملية البناء ذات الرقم $j$ ($1\le j\le N-1$) بالطريقة التالية:

  • تُحدد مدينتان $A_j$ و$B_j$، بحيث يمكن الوصول من المدينة $1$ إلى المدينة $A_j$، ولا يمكن الوصول من المدينة $1$ إلى المدينة $B_j$، باستخدام الطرق المبنية حتى ذلك الوقت فقط.
  • تبني طريقًا يربط المدينة $A_j$ بالمدينة $B_j$. تكلفة هذا البناء هي عدد أزواج المدن $(s,t)$ التي تحقق الشروط التالية:

تقع المدينتان $s$ و$t$ على أقصر مسار بين المدينة $1$ والمدينة $A_j$، وعند الانتقال من المدينة $1$ إلى المدينة $A_j$ نصل إلى المدينة $s$ قبل المدينة $t$، وتكون قيمة حيوية المدينة $s$ أكبر تمامًا من قيمة حيوية المدينة $t$.

هنا، تشمل المدن الواقعة على المسار بين المدينة $1$ والمدينة $A_j$ كلًا من المدينة $1$ والمدينة $A_j$. لاحظ أن أقصر مسار بين المدينة $1$ والمدينة $A_j$ وحيد.

  • تتغير قيم حيوية جميع المدن الواقعة على المسار بين المدينة $1$ والمدينة $A_j$ لتصبح مساوية لقيمة حيوية المدينة $B_j$.

تريد معرفة تكلفة كل عملية بناء.

المهمة

اكتب برنامجًا يحسب تكلفة كل عملية بناء، عند إعطائه بيانات المدن وعمليات بناء الطرق.

الإدخال

اقرأ البيانات التالية من الإدخال القياسي.

  • يحتوي السطر الأول على عدد صحيح $N$، ويعني ذلك أن مملكة JOI تضم $N$ مدينة.
  • يحتوي السطر الثاني على $N$ عددًا صحيحًا مفصولة بمسافات، $C_1,C_2,\ldots,C_N$. ويعني ذلك أن القيمة الأولية لحيوية المدينة $i$ ($1\le i\le N$) هي $C_i$.
  • يحتوي السطر $j$ ($1\le j\le N-1$) من الأسطر الـ$N-1$ التالية على عددين صحيحين مفصولين بمسافة، $A_j,B_j$. ويعني ذلك أن المدينتين $A_j$ و$B_j$ محددتان لعملية بناء الطريق ذات الرقم $j$.

الإخراج

اكتب $N-1$ سطرًا إلى الإخراج القياسي. يجب أن يحتوي السطر $j$ ($1\le j\le N-1$) على تكلفة عملية بناء الطريق ذات الرقم $j$.

القيود

تحقق جميع بيانات الإدخال الشروط التالية.

  • $1\le N\le 100\,000$.
  • $1\le C_i\le 1\,000\,000\,000$ ($1\le i\le N$).
  • $1\le A_j\le N$ ($1\le j\le N-1$).
  • $1\le B_j\le N$ ($1\le j\le N-1$).
  • باستخدام الطرق المبنية قبل عملية البناء ذات الرقم $j$، يمكن الوصول من المدينة $1$ إلى المدينة $A_j$، ولا يمكن الوصول من المدينة $1$ إلى المدينة $B_j$ ($1\le j\le N-1$).

المهام الفرعية

توجد 3 مهام فرعية. فيما يلي نقاط كل مهمة فرعية وقيودها الإضافية:

المهمة الفرعية 1 [7 نقاط]

  • $N\le 500$.

المهمة الفرعية 2 [9 نقاط]

  • $N\le 4000$.

المهمة الفرعية 3 [84 نقطة]

لا توجد قيود إضافية.

أمثلة

الإدخال 1

5
1 2 3 4 5
1 2
2 3
2 4
3 5

الإخراج 1

0
0
0
2

ملاحظة

في المثال الأول، تُنفذ عمليات البناء كما يلي:

  • في عملية البناء الأولى، لا يوجد أي زوج $(s,t)$ يحقق الشروط، لذا تكون التكلفة $0$. يُبنى طريق يربط المدينة $1$ بالمدينة $2$، وتتغير قيمة حيوية المدينة $1$ إلى $2$.
  • في عملية البناء الثانية، لا يوجد أيضًا أي زوج $(s,t)$ يحقق الشروط، لذا تكون التكلفة $0$. يُبنى طريق يربط المدينة $2$ بالمدينة $3$، وتتغير قيمتا حيوية المدينتين $1$ و$2$ إلى $3$.
  • في عملية البناء الثالثة، لا يوجد أيضًا أي زوج $(s,t)$ يحقق الشروط، لذا تكون التكلفة $0$. يُبنى طريق يربط المدينة $2$ بالمدينة $4$، وتتغير قيمتا حيوية المدينتين $1$ و$2$ إلى $4$.
  • في عملية البناء الرابعة، يحقق الزوجان $(s,t)=(1,3),(2,3)$ الشروط، لذا تكون التكلفة $2$. يُبنى طريق يربط المدينة $3$ بالمدينة $5$، وتتغير قيم حيوية المدن $1$ و$2$ و$3$ إلى $5$.

الإدخال 2

10
1 7 3 4 8 6 2 9 10 5
1 2
1 3
2 4
3 5
2 6
3 7
4 8
5 9
6 10

الإخراج 2

0
0
0
1
1
0
1
2
3

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

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.