شاززز

شما در حال مشاهده بلاگ قدیمی شاززز هستین! سایت جدید به آدرس shaazzz.ir در دسترسه.
شاززز

اینجا وبسایت آزاد المپیاد کامپیوتره! ;)
واسه ی همه ی سطوح از تازه کارها تا طلای جهانی!

طبقه بندی موضوعی
بایگانی

۱۹۸ مطلب توسط «شااززز منگولیا» ثبت شده است

۰۱
دی
سلام دوستان.

 

پنج شنبه(4 دی) ساعت 16 می خواهیم اولین آزمون عملیمون رو بگیریم. آزمون 3 ساعته و احتمالا 4 سوال داره. سطح سوالاش از خیلی ساده تا خیلی سخت داره . ثبت نامش هم هنوز آماده نیست انشاالله تا فردا آماده میشه و همین جا اعلام می کنیم.

به دوستانتون هم آزمون را اطلاع بدین.


بروزرسانی ۱:برای عضویت از طریقاین لینکاقدام کنید. مهلت ثبت نام تا ساعت ۱۳ پنجشنبه هست.موقع ثبت نام اسمتونو کامل بنویسید. از اسم مستعار و مخفف و ... استفاده نکنید. (علت استفاده از کوتاه کننده ی لینک اینه که بلاگفا اجازه نمیده لینک مستقیم رو بذاریم و لینک رو محتوای تبلیغاتی (!) شناسایی می کنه :|‌ )

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

آزمون همونطور که گفته شد سه ساعته و از ساعت ۱۶ - ۱۹ پنجشنبه برگزار میشه. لینک محل برگزاری آزمون و توضیحاتی درباره ی آزمون هم کمی قبل از آزمون همین جا گذاشته میشه. سعی کنید شاززز رو مرتب چک کنید تا اگه خبری بود متوجه بشید.


بروزرسانی ۲:کسایی که توی تایید کردن اکانتشون مشکل دارن، ممکنه به خاطر کپی پیست کردن کد یه اسپیس اضافی قبل یا بعد کدتون اضافه بشه و درنتیجه سیستم کد رو قبول نکنه. مطمئن باشید که همچین اتفاقی نیفتاده. میتونید کد رو دستی وارد کنید برای اطمینان. سیستم مشکلی نداره.


بروزرسانی ۳:ثبت نام تا ساعت 3 تمدید شد.


بروزرسانی ۴:

آزمون ساعت ۱۶:۱۵ شروع میشه. با عرض معذرت بابت تاخیر.

لینک جادج به زودی قرار داده میشه. بعد از ورود به جادج از قسمت Assignment کانتست رو انتخاب کنید و بعد از بخش Problems سوالات رو ارسال کنید. لینک صورت سوالات همین جا اضافه میشه. جادج فول فیدبک هست یعنی نتیجه ی هر سابمیت رو همون موقع میبینید.

یوزر و پسوردی که موقع ثبت نام استفاده کردید رو برای ورود استفاده کنید با این تفاوت که همه ی حروف یوزرنیم رو کوچیک بنویسید. یعنی اگه موقع ثبت نام نوشته بودید Salam با یوزرنیم salam وارد بشید.

پسورد چهارنفر به اندازه ی کافی قوی نبود که پسورد جدید به میلی که موقع ثبت نام وارد کرده بودن فرستاده شد. لطفا یوزرهای alimalek، amalek، parsaa و zestaji میلشون رو چک کنن.

برای پرسیدن سوال در حین آزمون یک پست جدید گذاشته میشه. میتونید توی نظرات سوالاتتون رو بپرسید و درصورتی که لزومی به جواب باشه، جواب سوال به صورت عمومی توی خود پست اعلام میشه درنتیجه در حین کانتست شاززز رو چک کنید.

  • شااززز منگولیا
۲۶
آذر
سلام

 

جواب سوال های آزمون اول رو  می تونید ازاینجادانلود کنید. متاسفانه تو سوال 3 آزمون فراموش شده بود شرط هم خط نبودن هیچ 3 نقطه نوشته شود .

سعی می کنیم به زودی هم یک آزمون عملی برگزار کنیم زمان دقیق تر رو تو پست بعدی می گیم. وبلاگ رو چک کنین تا آزمون رو از دست ندین.

نوشته شده توسط پیمان جبارزاده(سابق) در پنجشنبه ۲۷ آذر۱۳۹۳ و ساعت 11:18 |
  • شااززز منگولیا
۰۳
آذر
سلام

 

اولین آزمون تئوری اماده شد. میتونید ازاینجادانلود کنید. با تشکر از علی حقانی برای کمک در آماده سازی آزمون.

سوالاتتون رو میتونید از هم دیگه و از ما از بخش نظرات بپرسید. جواب سوالا هم سه یا چهار هفته ی بعد قرار داده میشه.

زمان آزمون چهار ساعته. اگه میتونید سعی کنید واقعا آزمون بدید که تمرین آزمون دادن هم کرده باشید. ضمنا سوالات در ازمون های بعد به تدریج سخت تر میشن.

آپدیت:‌ برای دانلود از پیکو فایلاینجاکلیک کنید.

موفق باشید.

  • شااززز منگولیا
۱۱
شهریور
سلام.

 

اول اولش باید بگم که عذر میخوایم که انقدر دیر داریم پست های جدید و شروع این دوره ی شاززز رو میذاریم.

امسال هم مثل سال های قبل یه تعدادی آزمون هم عملی و هم تئوری توی شاززز قرار می گیره. علاوه بر این یه سری پیشنهاد و راهنمایی برای دو بخش المپیاد کامپیوتر یعنی بخش های عملی و تئوری آماده شده. یک سری از این پیشنهادها  که بیشتر درباره ی تئوری هستند رو امین توی پست قبلی نوشته و من هم یک سری از اون ها که به بخش عملی مربوط میشن رو تو ادامه ی همین پست مینویسم.

سایت های زیادی هستن که به طور ماهانه و هفتگی مسابقه برنامه نویسی برگزار می کنند. چندتا از این سایت ها رو در زیر با یک توضیح مختصر درباره شون نوشتم:

۱-Codeforces: این سایت در هر هفته حداقل یک کانتست(مسابقه برنامه نویسی) برگزار می کنه و سوالات متنوع و زیادی داره. کاربرها به دو دسته تقسیم میشن و سوالات مربوط به دسته ها با هم فرق می کنن. در ابتدا هر کاربر در سطح Div 2 که سوالات آسون تری داره قرار میگیرن و اگه توی چند کانتست رتبه ی خوبی کسب کنن امتیاز(Rate)شون زیاد میشه و وارد سطح Div.1 میشن. علاوه بر کانتست های جدید سوالات کانتست های قدیمی هم توی بخش Problemset قرار دارن و منبع خیلی خوبی برای تمرین هستن. ضمنا سوالات بر اساس راه حلشون هم دسته بندی شدن. مثلا سوالات مربوط به گراف رو میتونید ازاینجاببینید.

۲-SGU: این سایت شامل یه منبع خیلی خوب از سوال های برنامه نویسی برای تمرین هست.

۳-USACO: آزمون های  المپیاد کامپیوتر آمریکا در این سایت برگزار می شود. این سایت دارای سه سطح Bronze, Silver و Gold هست. در ابتدا همه در سطح Bronze هستن و اگه توی مسابقه ی هرماه نمره ی بیشتر از یک کف مشخص(که به اون مسابقه وابسته است) رو کسب کنید وارد سطح بالاتر می شید. برای شرکت توی هر مسابقه چهار روز وقت دارید که اون مسابقه رو شروع کنید و بعد از شروع کردن سوالا به شما نشون داده میشن و پنج ساعت وقت به شما داده میشه که سوالات رو حل کنید. درستی یا غلطی راه حلتون بعد از تموم شدن مهلت کل مسابقه(یعنی بعد از اون چهار روز) نشون داده میشه و در طی مسابقه فقط راه حلتون برای تست های نمونه بررسی میشه. کانتست های سال های گذشته هم در این سایت هست

۴-COCI: این سایت هم هر سه یا چهار هفته یک مسابقه ی سه ساعته ی برنامه نویسی شش سواله برگزار میکنه. سوالات هم به ترتیب از آسون به سخت هستند.

۵-clist: این سایت کانتست هایی که قراره برگزار بشه رو لیست کرده و اونها رو به ترتیب زمانی مرتب می کنه. درنتیجه میتونید به اون مراجعه کنید تا از لیست کانتستایی که قراره برگزار بشه و زمانشون باخبر بشید.

پیشنهاد می کنم در کانتست های سایت های USACO, COCI و Codeforces شرکت کنید. البته توجه کنید که اینکه وقت کانتست تموم شه به این معنی نیست که دیگه نباید روی سوال ها فکر کنید. روی سوال ها فکر کنید و اگر حل شد کدشون رو بزنید. بعد از یه مدت خوبی که روی سوال فکر کردید هم حتما راه حل های سوال هایی که هنوز حل نشده رو بخونید و کدشون رو بزنید.  این کار رو حداقل واسه ی دو تا از اولین سوالایی که حل نکردید انجام بدید. مثلا سعی کنید توی سایتی مثل COCI یا Codeforces اگر دو تا سوال اول رو حل کردید حتما روی سوال های سه و چهار فکر کنید و اگر حل نشدن راه حلشون رو بخونید و کدشون رو بزنید.علاوه بر این حتی اگه سوالی رو حل کردید سعی کنید راه حل ارائه شده برای اون رو بخونید. چون ممکنه نویسنده راه حل بهتری واسه ی اون سوال داشته باشه و میتونید ایده هی جدید یاد بگیرید.

برای تمرین سوالات سایت SGU سوالات خوبی هستن. میتونید با توجه به تعداد حل کننده های هر سوال که جلوی سوال نوشته شده سختی سوال رو تخمین بزنید و از سوال آسون به سخت حل کنید.

حل یه سوال عملی دو مرحله داره. در مرحله ی اول شما باید تئوری سوال رو حل کنید و الگوریتم برای این سوال به دست بیارید. و بعد از اون باید کد الگوریتم رو بزنید. با توجه به اینکه اکثر وقت رو باید روی مرحله ی اول بذارید باید روی کدنویسی به قدری مسلط باشید که هیچ سوالی نباشه که تئوریشو حل کرده باشید ولی نتونسته باشید کدشو بزنید. برای این کار هم تنها راه تمرینه. دادن کانتست ها حداقل تمرینیه که میتونید داشته باشید ولی در کنار اون هم باید سعی کنید سوالات سایت های مختلف مثل SGU یا سوالات کانتست های قبلی سایت هایی مثل Codeforces رو حل کنید.

برای بخش تئوری سوال های عملی هم باید یک سری از الگوریتم ها رو بلد باشید. برای یادگرفتن این الگوریتم ها همون طوری که امین گفت می تونید از کتاب Intoduction to Algorithms: A Creative Approach که بیشتر به نام Creative مشهور هست استفاده کنید. علاوه بر اون اینترنت منبع بسیار خوبی واسه ی یاد گرفتن الگوریتم های جدید هست و مثلا توی سایت ویکی پدیا توضیحات خیلی خوبی راجع به خیلی از الگوریتم ها هست. علاوه بر اون سایت Topcoder هم مقالاتی برای برخی از الگوریتم ها نوشته که میتونید لیست اون ها رو ازاینجاببینید. این سایت هم از سایت هاییه که کانتست برگزار میکنه.

اگر سوالی بود از بخش نظرات بپرسید.

 

موفق باشید ;)

  • شااززز منگولیا
۲۹
بهمن
این ازکلید.

امسال نظرسنجی نمی ذاریم چون چیزی جز استرس برای شما نخواهد داشت و خیلی ها الکی نمره بالا ثبت می کنن.

اینقدر هم به سف و کقف فکر نکنید:) کف اصولاً پایین تر از چیزی هست که شما فکر می کنید.

کسایی که کد 1 بودن ناراحت نباشن چون یه خورده از کد 2 سخت تر بود }: D:

----------------------------------------------

در رابطه با سوال 30:

حالتی رو در نظر بگیرید که یک کلاه آبی،دو تا قرمز و سه تا سبز داشته باشیم:

اگر فردی که دفعه اول دستش رو بالا میگیره دفعه دوم هم بالا بگیره جواب 3 میشه و

اگر دفعه دوم بالا نگیره 2 میشه.در حالت اول سوال غلطه و در حالت دوم گزینه صحیح (2و6) میشه.

سوال 28 رو اشتباه فهمیده بودیم. جواب میشه 69 :)

توضیح سوال ۱۵

جدول رو به صورت شطرنجی رنگ کنید.اگر تمام خونه های یک رنگ خاص یک باشه در مرحله بعد تمام خونه های رنگ دیگه یک خواهد بود.پس اگر همه ی خونه های یه رنگ رو یک کنیم بقیه خانه های جدول هر حالتی می تواند داشته باشد.

پاسختشریحی و رسمی سوالات در سایت کمیته قرار داده شد.

  • شااززز منگولیا
۲۸
بهمن
نکات نهایی برای آزمون مرحله یکتون:

صبحونه مفصل بخورید و حتماً به اندازه کافی برای سر جلسه واسه خودتون تغذیه ببرید.

اصلاً به اطرافتون توجه نکنید بویژه به پاسخنامه های دیگران خیلی ها شانسی پر می کنند.خیلی ها غلط حل می کنند!

استرس نداشته باشید! اگر امتحان سخت باشه برای همه هست(حتی شما دوست عزیز).

بعد از امتحان افسوس نخورید.شما تمام تلاش خودتونو کردید.بهترین کاری که میشه کرد اینه که ببینید مشکلتون کجا بوده و سعی کنید برای امتحانات بعدی رفعش کنید.

برای همتون آرزوی موفقیت می کنم.کم کم هم بگیرید بخوابید که فردا خواب نمونید.

-----------------------------------------------------

کلید تا 3:30 میاد

  • شااززز منگولیا
۲۱
بهمن
سوال 1:
تو این سوال می دونیم که عدد نهایی تو int جا میشه ولی ممکنه وسطش overflow بشه برای این که بتونیم این عدد گنده رو ذخیره کنیم استفاده از bignum مناسب نیست چون اگر برای هر رقم یک بایت هم فضا اشغال بشه حدود 4 ترابایت فضا نیازه!!!
راه حلی که می خواستیم شما بهش برسید این بود که تجزیه این عدد به عوامل اولش رو نگه دارید که خب خیلی هاتون هم بهش رسیدید.ولی نکته اصلیش این بود که پیدا کردن عوامل عدد رو با رادیکال گرفتن از عدد و ... پیاده سازی نکنید.به جای این کار می تونید از الگوریتماستفاده کنید که زمان خیلی کمتری مصرف می کنه.خیلی از افراد همینطوری پیاده سازی کردن واسه همین دیگه کد غربال رو نمی ذاریم می تونید از تو scoreboard کد های مختلف رو نگاه کنید.
راه حل دوم:اگر x رو جواب نهایی فرض کنیم می دونیمx>0 و x
 x%(1000000009)=x
خب حالا می تونیم همه عملیات هامون رو mod این عدد انجام بدیم.از اونجایی که این عدد اول هستش و همه اعداد ورودی ازش کوچیکترن موقع تقسیم می تونیم ازقضیه کوچک فرمااستفاده کنیم که تو پست های قبلی توضیح داده بودیم در موردش.این راه حل از غربال خیلی سریعتر بود!
در مورد تست ها:
تست 1:اگر با همون ترتیب ورودی ضرب و تقسیم عادی انجام میدادید کار می کرد!
تست 2:مثل تست 1 فقط باید تو long long جواب رو ضرب و تقسیم می کردید
تست 3:اگر رادیکالی تجزیه می کردید نمره اش رو می گرفتید
تست 4:یه خورده باید همون رادیکالتون رو بهینه سازی می کردید
تست 5:می تونستید یه جوری ضرب و تقسیم کنید که overflow نشه.مثلاً اگه ضرب جواب فعلی در هر عددی باعث overflow بشه حتماً یه عددی وجود داره که می شه بهش تقسیم بشه و دوباره جوابمون کوچیکتر بشه.
تست 6-10:از اینجا دیگه تست ها سخت می شد و کد هایی رادیکالی به سختی accept می شدن.

سوال 2:
ایده مشترک دو قسمت سوال این بود که پاره خط ها رو بر حسب ارتفاع یه سمت ثابت مرتب کنید.پس از این بعد فرض می کنیم پاره خط i ام ارتفاع سمت چپش از پاره خط j ام بیشتره اگر و تنها اگر i>j. همچین [h[i رو ارتفاع سمت راست پاره خط i ام فرض می کنیم.
قسمت اول:شرط لازم و کافی برای این که پاره خط iوj با هم تقاطع داشته باشن با فرض این که j>i هستش اینه که [h[j کوچکتر از [h[i باشه.
قسمت دوم:یه مجموعه که خاصیت گفته شده رو داره در نظر بگیرید.پاره خطی که سمت چپش از همه پایین تره سمت راستش باید از همه بالاتر باشه در غیر اینصورت با همه پاره خط های دیگه تقاطع نداره.با استفاده از همین ایده می تونید ثابت کنید که جواب بزرگترین زیردنباله نزولی تو آرایه h هستش.بزرگترین زیر دنباله نزولی یا صعودی یه مسئله خیلی معروف هستش که راه حلش رو می تونید ازاینجاببینید.
سوال 3:

در این سوال یک گراف به ما داده شده است و می خواهیم کمترین تعداد یال را حذف کنیم تا راس های 1 تا k در هیچ دوری نباشند.

ابتدا همه ی یال های گراف مثل v-u که u>k , v>k را در نظر می گیریم (می شه به راحتی اثبات کرد که این یال ها در یکی از جواب های مسئله وجود دارند). هر مولفه ی گراف درست شده را یک راس بگیریم یال های باقی مانده (یال هایی که حداقل یکسرشان از این k راس است) باید یک جنگل تشکیل دهند در غیر این صورت یکی از این k راس در یک دور می افتد. به هر صورتی که این یال ها را انتخاب کنیم تا گراف جنگل بماند به یک جواب بهینه می رسیم. برای این کار هم می توان از الگوریتمdsuاستفاده کرد.
پیاده سازی ای سوال رو هم می تونید ازاینجادانلود کنید.


نوشته شده توسط محمدامین خشخاشی‌مقدم(سابق) در سه شنبه ۲۲ بهمن۱۳۹۲ و ساعت 22:17 |
  • شااززز منگولیا
۱۷
بهمن
سلااااااام :)

خب بالاخره بعد از 2 ماه غیر فعال بودن شااززز (به دلیل امتحانای ترم و دوره طلا و ...) می خوایم یک آزمون دیگه بگیریم.

این آزمون هم مثل آزمون های قبلی قراره 3 سواله و 2 ساعت باشه. آزمون حمعهساعت 7شروع می شه.

کسانی که قبلا ثبت نام نکردن می تونن ازاینجاثبت نام کنن.

اگر همچنان تعداد شرکت کننده ها کم باشه این آزمون ها رو متوقف می کنیم :|

 موفق باشید.

-----------------------------------------

زمان آزمون به دلیل تداخل داشتن با کانتست Topcoder به ساعت 5 تغییر کرد.

-----------------------------------------

ثبت نام ساعت ۳ متوقف می شه.اکانت های زیر حذف شدند:

fhshemi,fshashemi,MaRaGo,Wrong

آزمون با 15 دقیقه تاخیر شروع میشه یعنی از ساعت 5:15 تا 7:15

آزمون شروع شد!

سوالات رو ازاینجادریافت کنید.

نظرات هم بسته شد.اگه سوالی داشتید می تونید تو خود محیط مسابقه بپرسید.

خب سرورو رسماً ترکوندید :)

آزمون به اتمام رسید :(  متاسفانه این آزمون با موفقیت برگزار نشد.ما سعی می کنیم هرچه سریعتر سرور رو درست کنیم تا بتونید جواب های خودتون رو چک کنید.

اگر اعصابتون خورد شد ، وقتتون تلف شد یا هر چیز دیگه به بزرگواری خودتون ببخشید :)

موفق باشید.

-----------------------------------------

جاجدرست شده وتا یک هفته باز می مونه. می تونید کدهاتون رو سابمیت کنید.scoreboardهم فعال شده.

از الان می تونید سورس کد بقیه رو هم تو scoreboard ببینید:اول روی اسم کاربر کلیک کنید و بعدش جلوی اسم سوال دکمه Show رو بزنید.اگر مشکلی مشاهده می کنید Ctrl+F5 بزنید.راه حل های اصلی رو هم به زودی اضافه می کنیم.

  • شااززز منگولیا
۱۶
بهمن
سلام به همگی

امیدوارم که امتحانات ترم اول رو به خوبی و خوشی پشت سر گذاشته باشید.می خوام چند تا نکته در مورد امتحان مرحله اول بگم:

1-سال دومی ها و سال سومی هایی که سال پیش مرحله اول قبول شدند باز هم از خودشون مرحله اول امتحان بگیرن.این کار هم باعث می شه دستتون(مغزتون) گرم شه و هم این که روز اول مرحله دوم(به احتمال زیاد) تستی هستش و خب اونجا هم می تونه کمکتون کنه.

2-تست زدن با تشریحی امتحان دادن از زمین تا آسمون فرق داره.سعی نکنید که اثبات کنید جوابتون درسته.منظورم این نیست که شانسی بزنید ولی می تونید از تکنیک هایی مثل حذف گزینه و یا در اوردن مثال های کوچیک و الگو یابی استفاده کنید.راهی که 5 دقه طول می کشه تا به جواب برسه ولی مطمئن هستید که به جواب درست می رسه خیلی بهتر از راهی هستش که کمتر طول می کشه ولی ممکنه اشتباه باشه.به طور کلی از این که امتحان تستی هستش نهایت استفاده رو ببرید.خوب تست زدن خیلی می تونه تو مرحله دو کمکتون کنه.خیلی!!!

3-وقتی دارید تست می زنید بادقتسوالات رو بخونید و مثالاش رو حتماً چک کنید.نصف سوال تو گزینه هاشه!!!حتماً گزینه ها رو نگاه کنید.زیر نکات مهم سوال خط بکشید.وقتی به جواب رسیدید دوباره یه چک بکنید و مطمئن بشید سوال دقیقاً همون چیزی رو می خواد که شما به دست اوردید.سعی کنید به خاطر بی دقتی تستی رو اشتباه نزنید.

4-اگر وقت اضافی داشتید می تونید تمرین های کتاب های مختلف رو حل کنید از جمله:ترکیبیات علیپور(جلد زرد)،آنالیز ترکیبی،جلوه هایی از ترکیبیات و الفبای المپیاد ریاضی

------

5-  اگه بین دو گزینه شک داشتین رندوم بزنین حتما.(طبق امیدریاضی. امیدریاضی میگه اگه کلا هم رندوم بزنید صفر میشید پس خیلی جای نگرانی نیست!)  البته تو این موضوع بحث داشتیم و رای 2 به 2 بود. برای این که حق اون دو نفری که گفتن رندوم بزنید ضایع نشه این بند هم اضافه شد :)

آرشیو سوالات گذشته رو می تونید ازاینجادریافت کنید.

بقیه حرف هایی که می خواستم بزنم تواینپست هستش.

  • شااززز منگولیا
۰۹
بهمن
سلام بچه ها :)

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

موفق باشید

------------------------

آقای اسدی زحمت کشیدن و یه نسخه ی خیلی خوب از سوالات المپیاد روسیه ( 1994 - 2013) درست کردن. میتونید ازاینجااین فایل رو دریافت کنید. این فایل از وب‌سایتجی‌پکهم قابل دریافت است.

  • شااززز منگولیا