نخود


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت
  • آزمون عملی اول فاینال سی و سومین دوره المپیاد کامپیوتر ایران

کیومرث یک درخت nn راسی جهت‌دار دارد که راس‌‌های آن شماره‌های 11 تا nn دارند و روی راس iiام aia_i تا نخود قرار دارد. او پس از انجام تعدادی عملیات که در ادامه تعریف می‌شود، به درختی می‌رسد که روی راس iiام bib_i تا نخود وجود دارد.

تعریف عملیات: کیومرث در یک عملیات ابتدا یک نخود دلخواه را انتخاب می‌کند، سپس آن را به راسی دلخواه انتقال می‌دهد، به شرطی که از راس کنونی نخود، به آن راس یال جهت‌دار وجود داشته باشد.

در این سوال شما باید پس از ورودی گرفتن درخت به همراه دنباله‌ی aa و bb تعیین کنید آیا می‌توان با انجام دادن تعدادی عملیات، از دنباله‌ی aa به دنباله‌ی bb رسید یا خیر. همچنین برخی از bib_i ها در ورودی نامعلوم هستند؛ به این معنی که آن راس می‌تواند در نهایت هر تعدادی نخود داشته باشد. در هر ورودی باید سوال را به ازای TT سناریوی مختلف حل کنید.

ورودی🔗

در خط اول، تعداد سناریوها TT می‌آید. 1T2000001 \leq T \leq 200 \, 000

به ازای هر سناریو، در خط اول nn تعداد راس‌های درخت می‌آید. 1n2000001 \leq n \leq 200 \, 000

در iiامین خط از nn خط بعدی، دو عدد aia_i و bib_i به‌ترتیب می‌آیند که تعداد نخود‌های اولیه و تعداد نخود‌های نهایی راس iiام را نشان می‌دهد (اگر bi=1b_i = -1 باشد، تعداد نخود‌های این راس نامعلوم است).

1bi1012,0ai1012-1 \leq b_i \leq 10^{12}, \quad 0 \leq a_i \leq 10^{12}

در n1n - 1 خط بعدی در هر خط دو عدد vv و uu به ‌ترتیب می‌آیند که نشان‌دهنده‌ی یالی جهت‌دار از vv به uu می‌باشد. تضمین می‌شود بدون در نظر گرفتن جهت یال‌ها، یک درخت تشکیل می‌دهند.

1v,un1 \leq v, u \leq n

تضمین می‌شود مجموع nn به ازای تمام سناریوها از 200000200 \,000 بیشتر نمی‌شود.

خروجی🔗

خروجی شامل TT خط است که در هر خط اگر با صرف نظر از bib_iهای نامعلوم می‌توان به دنباله‌ی bb رسید، عبارت Yes و در غیر این صورت عبارت No را چاپ کنید.

زیرمسئله‌ها🔗

زیرمسئله نمره محدودیت
۱ ۲۱ bi1b_i \neq -1
۲ ۲۷ راس ۱ به همه راس‌ها مسیر دارد.
۳ ۵۲ بدون محدودیت اضافی

مثال‌ها🔗

ورودی نمونه ۱🔗

3
2
5 7
5 -1
1 2
5
1 -1
4 -1
1 1
5 0
5 -1
1 5
3 1
5 4
1 2
5
4 -1
5 1
5 -1
3 3
0 -1
1 3
2 1
4 2
2 5
Plain text

خروجی نمونه ۱🔗

No
No
Yes
Plain text

جنگل تصادفی


  • محدودیت زمان: ۲ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت
  • آزمون عملی اول فاینال سی و سومین دوره المپیاد کامپیوتر ایران

امیر و مهدی برای گردش به جنگل تصادفی رفته‌اند که درختان این جنگل توجه آنها را جلب می‌کند. آن‌ها برای آشنایی بیشتر با این درختان به اعماق جنگل می‌روند اما بعد از مدتی گم می‌شوند! در عوض آن‌ها به رمز رشد درختان این جنگل پی برده‌اند، الگوریتم ساخت یک درخت nn رأسی در جنگل تصادفی به این صورت است:

ابتدا راس 11 به عنوان ریشه قرار می‌گیرد، سپس در n1n - 1 لحظه بعد، در لحظه ii ام، پدر راس i+1i + 1 به طور تصادفی با شانس برابر بین رئوس 11 تا ii انتخاب می شود و راس i+1i + 1 به درخت اضافه می‌شود.

امیر حین تلاش آن‌ها برای خروج از جنگل نقشه‌ای قدیمی پیدا می‌کند که به زبانی باستانی نوشته شده است. امیر شروع به رمزگشایی این زبان می‌کند و می‌فهمد که زیبایی یک درخت از دید یونانیان باستان برابر تعداد دوتایی‌های (u,v)(u,v) از راس های درخت است که ارتفاع برابر دارند و u<vu < v است. او بدون دانستن امید ریاضی زیبایی یک درخت nn راسی در جنگل تصادفی نمی‌تواند بخش دوم نقشه را رمزگشایی کند!

تا وقتی که امیر مشغول رمزگشایی دیگر بخش‌های نقشه است، به مهدی کمک کنید جواب مسأله را به پیمانهٔ MM بدست آورد و به امیر بدهد تا آن‌ها را از جنگل تصادفی نجات بدهد!

امید ریاضی خواسته شده را می‌توان به صورت PQ\frac P Q که PP و QQ نسبت به هم اولند. در این صورت P.Q1P.Q^{-1} را به پیمانه MM محاسبه کنید.

ورودی🔗

تنها سطر ورودی شامل عدد طبیعی nn، تعداد رئوس درخت، و عدد اول MM است.

1n50001 \leq n \leq 5000 108M10910^8 \leq M \leq 10^9

خروجی🔗

در تنها سطر خروجی، امید ریاضی تعداد جفت راس های هم‌طبقه در یک درخت nn راسی تصادفی را به پیمانه MM چاپ کنید.

زیرمسئله‌ها🔗

زیرمسئله نمره محدودیت
۱ ۵ n10n \leq 10
۲ ۳۱ n100n \leq 100
۳ ۱۷ n300n \leq 300
۴ ۴۷ بدون محدودیت اضافی

مثال‌ها🔗

ورودی نمونه ۱🔗

4 100000007
Plain text

خروجی نمونه ۱🔗

16666669
Plain text

ورودی نمونه ۲🔗

6 998244353
Plain text

خروجی نمونه ۲🔗

16637409 
Plain text

ورودی نمونه ۳🔗

10 349101829
Plain text

خروجی نمونه ۳🔗

213807563
Plain text

ورودی نمونه ۴🔗

100 998244853
Plain text

خروجی نمونه ۴🔗

439156355
Plain text

محاصره


  • محدودیت زمان: ۳ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت
  • آزمون عملی اول فاینال سی و سومین دوره المپیاد کامپیوتر ایران

چنگیزخان با ارتش عظیمش بار دیگر در فکر حمله به چین است و در پی این تصمیم به سربازانش دستور داده است که nn نردبان با hh پله پای دیوار بزرگ چین بگذارند. می‌دانیم سربازان چنگیز اگر روی نردبانی باشند هر ثانیه دقیقاً ۱ پله بالا می‌روند. همچنین هر ثانیه یکی از دو اتفاق زیر رخ می‌دهد:

  • چنگیز به سربازانش دستور می‌دهد که به ازای نردبان‌های ll ام تا rr ام از هر نردبان دقیقاً xx نفر همزمان شروع به بالا رفتن بکنند.
  • اینکه سربازان چینی از بالای دیوار سنگی بر روی نردبان ii ام می‌اندازند که kk نفر بالایی نردبان را می‌کشد. دقت کنید که اگر کمتر از kk نفر روی نردبان باشند، سنگ تمام افراد روی نردبان را می‌کشد و سپس بدون آسیب دیگری به زمین می‌رسد.

این حمله برای qq ثانیه اتفاق جدید دارد. بعد از آن هم چنگیز صدایش می‌گیرد و دستور دیگری نمی‌دهد. البته سربازان چینی نیز دیگر سنگی ندارند. سربازان مغولی که روی نردبان‌ها هستند از ترس چنگیز همچنان به بالا رفتن ادامه می‌دهند. برای درک بیشتر سوال به مثال‌ها توجه کنید.

در پایان، چنگیز که از حساب و کتاب بدش می‌آید، از شما می‌خواهد به او کمک کنید که بداند چند تن از سربازانش به بالای نردبان‌ها رسیده‌اند.

ورودی🔗

در خط اول به ترتیب nn و qq و hh می آیند که نشان دهنده تعداد نردبان‌ها، تعداد اتفاقات و تعداد پله‌های نردبان‌ها هستند.

1n,q200000,1h1091 \leq n, q \leq 200\,000, \quad 1 \leq h \leq 10^9

در ادامه qq خط داده می شوند که هر یک یکی از دو حالت زیر را دارند که نشان دهنده اتفاق نوع اول و دوم هستند.

  • 1lrx1 \; l\;r\;x
  • 2ik2\;i\;k

1lrn,1x1071 \leq l \leq r \leq n , \quad 1 \leq x \leq 10^7 1in,1k1071 \leq i \leq n , \quad 1 \leq k \leq 10^7

خروجی🔗

در تنها خط خروجی بگویید که چند سرباز چنگیز بعد از 101810^{18} ثانیه به بالای نردبان‌ها می‌رسند.

زیرمسئله‌ها🔗

زیرمسئله نمره محدودیت
۱ ۷ 1n,q20001 \leq n, q \leq 2000
۲ ۱۲ 1h2001 \leq h \leq 200
۳ ۳۸ x,k=1x,k = 1
۴ ۴۳ بدون محدودیت اضافی

مثال‌ها🔗

ورودی نمونه ۱🔗

3 3 1
1 1 2 1
2 1 1
2 2 1
Plain text

خروجی نمونه ۱🔗

1
Plain text

ورودی نمونه ۲🔗

5 6 3
2 4 5
1 1 5 2
1 1 3 1
2 4 3
1 1 1 9
2 5 2
Plain text

خروجی نمونه ۲🔗

20
Plain text