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

فرض کنید یک درخت دودویی با ارتفاع hh و تعداد 2h2h گره برگ داریم. هر گره درخت نیز دارای یک مقدار می‌باشد. تعریف می‌کنیم:

  • اگر گره xx برگ باشد، α(x)\alpha (x) برابر است با مجموعه شامل گره xx و اجدادش تا ریشه درخت.(به همراه ریشه درخت)
  • اگر xx و yy دو گره مجزا باشند، α(x,y)\alpha (x,y) برابر است با اجتماع α(x)\alpha (x) و α(y)\alpha (y)
  • تابع f(x,y)f(x,y) حاصل جمع عناصر α(x,y)\alpha (x,y) را می‌دهد.

الگوریتمی ارائه دهید که برای یک درخت دودویی کامل دو گره برگ xx^* و yy^* را که مقدار f(x,y)f(x^*, y^*) برای آن‌ها حداکثر است را پیدا کند و f(x,y)f(x^*, y^*) را به عنوان خروجی برگرداند.

ورودی

یک عدد mm که تعداد نمونه‌های مسئله را بیان می‌کند. سپس 2m2m رشته که با زیر رشته pre: و یا post: شروع می‌شوند و هرکدام نشان‌دهنده‌ی دنباله‌ی prefix و یا postfix نمونه خود می‌باشند.

1m6 1 \le m \le 6

خروجی

برای هر نمونه ورودی یک عدد که نشان‌دهنده‌ی f(x,y)f(x^ * ,y^ * ) می‌باشد.

مثال

ورودی نمونه

1
pre: 36, 21, 15, 10, 19, 30, 20, 14, 6, 11, 5, 9, 10, 2, 7
post: 10, 19, 15, 20, 14, 30, 21, 5, 9, 11, 2, 7, 10, 6, 36
Plain text

خروجی نمونه

141
Plain text

ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.