از آنجا که مسابقه با حمایت چکاوا برگزار می‌شد، شرکت‌کننده‌ها کاربران اصلی کوئرا نیستند.

فاصله درختی


  • محدودیت زمان: ۵ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

به شما یک گراف همبند nn راسی با n1n - 1 یال داده می‌شود. شما باید qq عملیات را روی این گراف انجام دهید.

هرکدام از این عملیات‌ها به یکی از دو صورت می‌باشد:

  • 1 v
  • 2 u v

عملیات اول به این صورت است که باید راس vv را از گراف باقیمانده حذف کنید. عملیات دوم نیز به این صورت است که باید یال بین دو راس uu و vv را از گراف باقیمانده حذف کنید. همچنین پس از اعمال هر عملیات باید مجموع فواصل هر دو راسی که درون یک مولفه هستند را خروجی دهید.

ورودی🔗

در خط اول ورودی به شما دو عدد nn و qq داده می‌شود که به ترتیب بیانگر تعداد راس‌های گراف و تعداد عملیات‌ها می‌باشند.

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

در qq خط بعدی، در هر خط به شما یک عملیات داده می‌شود که یا از نوع اول می‌باشد یا از نوع دوم می‌باشد.

تضمین می‌شود گراف ورودی همبند است و همچنین در هنگام عملیات های نوع اول و دوم، به ترتیب راس و یال مورد نظر در گراف موجود است. 1n500 000 1 \le n \le 500\ 000 1q2n1 1 \le q \le 2n - 1 1u,vn 1 \le u, v \le n uv u \neq v

خروجی🔗

خروجی شامل qq خط است که خط iiام برابر با مجموع فواصل هر دوراسی که درون یک مولفه هستند، پس از اعمال عملیات iiام می‌باشد.

مثال🔗

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

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

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

4
Plain text

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

5 2
1 2
2 3
3 4
3 5
2 2 3
1 3
Plain text

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

5
1
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.