Universal Cup Judging System

Universal Cup

Süre Sınırı: 5.0 s Bellek Sınırı: 1024 MB Toplam puan: 100 Hack'lenebilir ✓
İstatistikler

Yana و Mino و White و Huzz هم أفضل الأصدقاء.

يشعر Mino بالحيرة مؤخراً. وبسبب هوسه بإخفاقاته السابقة في OI، كان يكافح للتخطيط لمستقبله أثناء إدارة جدوله المدرسي المزدحم. اقترح أصدقاؤه الثلاثة أن يقيّم أهمية مهامه ويرتب أولوياتها.

لنفترض أن هناك $n$ مهام مختلفة مرقمة من $1$ إلى $n$. في كل مرة، يختار Huzz مهمتين متجاورتين، وتقارنهما White، وتدمجهما Yana في مهمة واحدة. يتفاجأ Mino عندما يكتشف أن هذه العملية تشكل بالصدفة شجرة مقاطع (segment tree)، والتي لا تنقسم بالضرورة في المنتصف. وبشكل أكثر دقة، فإنها تشكل شجرة تحتوي على $2n - 1$ عقد، حيث تقابل كل شجرة فرعية مقطعاً متجاوراً. لاحظ أن جميع المهام الـ $n$ هي أوراق، بينما لكل عقدة من العقد الـ $n - 1$ الأخرى طفلان. هذه العقد الناتجة عن المقارنات تحدد قيم الحواف المتجهة إلى طفليها: $0$ للأصغر و $1$ للأكبر.

يحب Mino الحسابات كثيراً. وهو يعرّف وزن كل مهمة بأنه مجموع XOR للحواف على طول المسار من المهمة إلى الجذر. ويتساءل: إذا أُعطيت الأوزان، فكم طريقة توجد لبناء مثل هذه الأشجار ومقارنة الأطفال؟

مرة أخرى، Mino ليس ماهراً في OI، ولهذا السبب لجأ إليك طلباً للمساعدة. لتبسيط المسألة، تحتاج فقط إلى إيجاد الإجابة بباقي القسمة على $998,244,353$.

الإدخال

يحتوي السطر الأول من الإدخال على عدد صحيح موجب $n$ ($1 \le n \le 250000$)، وهو عدد المهام.

يحتوي السطر الثاني على سلسلة ثنائية $S$ بطول $n$، حيث يمثل $S_i$ قيمة Bitwise-XOR لجميع القيم الموجودة على الحواف من المهمة $i$ إلى الجذر.

الإخراج

اطبع عدداً صحيحاً، وهو الإجابة بباقي القسمة على $998,244,353$.

مثال

الإدخال القياسي

4
0101

الإخراج القياسي

6

ملاحظة

توجد $6$ طرق لبناء الشجرة ومقارنة الأطفال:

Figure 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.