Problem

7 /8


الاتصال الثقافي

Theory Click to read/hide

بالإضافة إلى التسلسلات ، يمكنك أيضًا تجزئة المجموعات. أي ، مجموعات من الأشياء بدون ترتيب عليها. يتم حسابه وفقًا للصيغة التالية:
hash (A) = & nbsp؛ \ (\ sum_ {a \ in A} p ^ {ord (a)} \) & nbsp؛ على & nbsp ؛ العلامة & lt ؛ - عد كل شيء modulo
حيث ord هي وظيفة تُسند إلى كائن من المجموعة رقمها الترتيبي المطلق بين جميع الكائنات الممكنة (على سبيل المثال ، إذا كانت الكائنات أرقامًا طبيعية ، فعندها ord (x) = x ، وإذا كانت الأحرف اللاتينية صغيرة ، ثم ord (& # 39 ؛ a & # 39 ؛) = 1 ، أمر (& # 39 ؛ ب & # 39 ؛) = 2 وما إلى ذلك)

أي ، لكل كائن ، نربط قيمة مساوية للقاعدة بقوة رقم هذا الكائن ونلخص كل هذه القيم من أجل الحصول على تجزئة للمجموعة بأكملها. كما هو واضح من الصيغة ، يمكن إعادة حساب التجزئة بسهولة إذا تمت إضافة عنصر إلى المجموعة أو إزالتها منها (فقط قم بإضافة أو طرح القيمة المطلوبة). نفس المنطق ، & nbsp؛ إذا لم تتم إضافة عناصر مفردة أو إزالتها ، ولكن هناك مجموعات أخرى (فقط قم بإضافة / طرح التجزئة الخاصة بهم).

كما يمكنك أن تفهم بالفعل ، تعتبر العناصر الفردية مجموعات من الحجم 1 ، والتي يمكننا حساب التجزئة لها. والمجموعات الأكبر هي ببساطة اتحاد لمثل هذه المجموعات المفردة ، حيث من خلال دمج المجموعات ، نضيف تجزئاتها.

في الواقع ، لا يزال هذا هو نفس تجزئة متعدد الحدود ، ولكن قبل المعامل عند p m & nbsp ؛، كان لدينا القيمة لعنصر التسلسل تحت الرقم n - m - 1 (حيث n هو طول التسلسل) ، والآن هذا هو عدد العناصر في المجموعة التي يساوي عددها الترتيبي المطلق م.

في مثل هذا التجزئة ، يجب على المرء أن يأخذ قاعدة كبيرة بما فيه الكفاية (أكبر من الحد الأقصى لحجم المجموعة) ، أو يستخدم التجزئة المزدوجة لتجنب المواقف التي يكون فيها لمجموعة من الكائنات p ذات العدد الترتيبي المطلق m نفس التجزئة كمجموعة مع كائن واحد مع مطلق عدد ترتيبي م + 1.
نبسب ؛

Problem

في بداية القرن الثامن عشر ، وصلت مجموعة من المستكشفين الأوروبيين إلى جزيرة يسكنها مجموعة من القبائل التي لم تتعامل أبدًا مع ممثلي الحضارة الأوروبية.

لإقامة اتصالات بنجاح مع السكان الأصليين ، يخطط زعيم المجموعة لتقديم هدية لزعيم كل قبيلة يلتقي بها. ولهذه الغاية ، أحضر سلسلة طويلة من الزجاج ، تشبه الأحجار الكريمة.
دعنا نمثل السلسلة كسلسلة ، تتكون من أحرف صغيرة من الأبجدية الإنجليزية ، حيث يشير كل حرف إلى نوع قطعة الزجاج في الموضع المقابل. & nbsp ؛
سيقوم الباحثون بتقطيع السلسلة إلى بعض الأجزاء ، ثم تسليم جزء واحد بالضبط إلى زعيم كل قبيلة واجهتها المجموعة. قرر قائد البحث تقسيم السلسلة إلى أجزاء وفقًا للقواعد التالية:
  • من أجل عدم قضاء الكثير من الوقت في القطع ، يجب أن تكون كل قطعة عبارة عن مجموعة من قطع الزجاج المجاورة في السلسلة ، أي سلسلة فرعية من الخيط.
  • يجب استخدام جميع قطع الزجاج ، أي يجب تضمين كل قطعة زجاج في جزء واحد بالضبط.
  • نظرًا لأن الباحثين لا يعرفون كيف سيقدر السكان الأصليون أنواعًا معينة من الزجاج ، فإنهم يريدون أن يحصل كل رئيس على نفس مجموعة الزجاج بغض النظر عن الترتيب. بمعنى آخر ، بالنسبة لأي نوع من الزجاج ، يجب أن يكون عدد الزجاج من هذا النوع هو نفسه في كل جزء من الأجزاء.
  • لا يعرف الباحثون عدد القبائل التي تعيش على الجزيرة ، لذا يجب أن يكون عدد الأجزاء المعدة كبيرًا قدر الإمكان.

ساعد المدير في تحديد الحد الأقصى لعدد الأجزاء التي يمكن الحصول عليها.

الإدخال:
يحتوي السطر الأول على السلسلة s (1 & lt؛ = | s | & lt؛ = 5000000).

الإخراج:
اطبع رقمًا واحدًا - أقصى عدد ممكن من الأجزاء التي يمكن للباحثين قطع السلسلة التي لديهم دون انتهاك أي من الشروط التي صاغها قائد المجموعة.

أمثلة:
نبسب ؛ <الجسم>
إدخال الإخراج
abbabbbab 3
عاب 1

التفسيرات:
في المثال الأول ، يمكن للباحثين كسر السلسلة & # 39 ؛ abbabbab & # 39 ؛ شظايا & # 39 ؛ abb & # 39 ؛ & # 39 ؛ abb & # 39 ؛، & # 39 ؛ bab & # 39 ؛ ثم زعيم كل قبيلة يلتقون بها سيحصلون على كأس واحد من النوع & # 39 ؛ a & # 39 ؛ وقطعتين من & # 39 ؛ b & # 39 ؛.

في المثال الثاني ، لا يمكن تقسيم السلسلة إلى أكثر من جزء واحد من السلسلة ، مع مراعاة جميع الشروط.