Processing math: 100%

المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۳۲:تئوری نهایی سوم:سوال ۱

سعی کنید سوالات را با کمترین راهنمایی از بالا به پایین حل کنید.

راهنمایی‌‌های بخش اول: f(n)Ω(nn)

راهنمایی

برای ساخت مثال، اعداد ۱ تا n را به n بلوک از اعداد متوالی که هر یک شامل n عدد می‌شوند بخش بندی کنید. (از اعدادی که در هیچ بلوکی قرار نگرفته‌اند صرف نظر کنید.)

راهنمایی

سعی کنید n دنباله، هر یک به طول n، بسازید که هر کدام شامل دقیقا یک عدد از هر بلوک باشند.

راهنمایی

ساختار این n دنباله را به n روش مختلف ارائه دهید که هر یک از الگویی خاص پیروی کنند. این روش‌ها را در راهنمایی‌های بعد تحت عنوان نوع صفر تا نوع n خطاب کرده‌ایم.

راهنمایی

دنباله‌های نوع صفر: برای iامین دنباله‌ی این نوع، از هر بلوک عدد iام آن‌ را انتخاب کنید.

راهنمایی

دنباله‌های نوع اول: برای i امین دنباله‌ی این نوع، از بلوک اول i امین عضوش را بردارید. برای هر بلوک j>۱، اگر از بلوک j1، xامین عدد آن بلوک انتخاب شده بود، به سراغ x+1 امین عدد بلوک j بروید. (دقت کنید که اگر بلوکی a عدد داشته باشد، منظور از عدد a+1 ام همان عدد اول بلوک است.)

راهنمایی

دنباله‌های نوع k ام: برای i امین دنباله‌ی این نوع، از بلوک اول i امین عضوش را بردارید. برای هر بلوک j>۱، اگر از بلوک j1، x امین عدد آن بلوک انتخاب شده بود، به سراغ x+k امین عدد بلوک j بروید. (دقت کنید که اگر بلوکی a عدد داشته باشد، منظور از عدد a+1 ام همان عدد اول بلوک است.)

راهنمایی

آیا ممکن است در دنباله‌های بالا زوجی بیابیم که دو بار در مجاورت هم ظاهر شده باشند؟

راهنمایی‌‌های بخش دوم: f(n)O(nn)

راهنمایی

مجموع تعداد اعضای دنباله‌ها را بر اساس تعداد جفت‌های مجاور در تمام دنباله‌ها به دست آورید

راهنمایی

اگر تعداد کل جفت های مجاور در یک n-تیر تپر، x باشد، مجموع تعداد اعضای دنباله‌های آن برابر با x+n خواهد بود (ثابت کنید)

راهنمایی

مانند بخش قبل اعداد را به n بلوک از اعداد متوالی که هر یک شامل n عدد هستند تقسیم کنید.

راهنمایی

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

راهنمایی

نشان دهید تعداد یال‌های خارجی از O(nn) است.

راهنمایی

چون در هر دنباله از هر دسته حداکثر یک یال خارجی خارج می شود پس در هر دنبال حداکثر n مجاورت خارجی وجود دارد و چون n دنباله داریم حداکثر nn مجاورت خارجی وجود دارد

راهنمایی

نشان دهید تعداد مجاورت‌های داخلی از O(nn) است.

راهنمایی

در مجموع 2n مجاورت داخلی می‌توانیم داشته باشیم در کل دنباله‌ها که بر اساس راهنمایی ۲ ثابت می شود f(n)O(nn)


ابزار صفحه