اولین باره که به کاهو میای؟ راهنمای سایت رو حتما بخون!

ورود ثبت‌نام راهنما درباره‌ی کاهو
پرسش‌ها برچسب‌ها کاربر‌ها سوال بپرسید!

آمار پرسش:

  • پرسیده شده: 2015-04-12 07:38:17 -0500
  • مشاهده شده: 149 بار
  • بروز شده: 2015-04-12 20:52:49 -0500

پرسش‌های مشابه:

برای مرحله سوم، تا چه سطحی باید برنامه نویسی بلد باشیم؟

اولین جمله از دنباله ی فیبوناچی که 1000رقم داشته باشد چیست؟

رتینگ در codeforces و سوالات در حد دوره و مرحله 3

سوال دوم مرحله سوم دوره 24: عبور از سد دفاعی ایران (حل شد + کد)

پاسخ سوالات مرحله 3 های دوره های قبل

کانتست برنامه‌نویسی فیلو (۲۰آذر)

آزمون عملی (مرحله سوم) المپیاد کامپیوتر چطور برگزار میشه و برای آمادگیش چیکار کنیم؟

سوال ۱ آزمون مرحله سوم دوره ۲۳

سوال ۲ آزمون مرحله سوم دوره ۲۳

سوال ۳ آزمون مرحله سوم دوره ۲۳

نکاتی در مورد نوشتن پاسخ:

در این قسمت می‌تونی به یک پرسش پاسخ بدی. اگه می‌خوای در مورد پرسش بحث و اظهار نظر کنی از قسمت «ثبت نظر» استفاده کن.
پاسخت رو دقیق و کامل بنویس، از عکس استفاده کن و اگه لازمه به منابع (کتاب یا سایت) ارجاع بده.
اگه پرسش یا پاسخ‌ها مفید هستند حتما بهشون رای بده تا پرسش‌ها و پاسخ‌های خوب مشخص بشن.

استفاده از ویرایشگر:

توی قسمت پیش‌نمایش می‌تونی ببینی متنی که نوشتی چجوری روی سایت دیده میشه.
خیلی مهم: برای اینکه به خط بعد بری باید دوتا Enter بزنی.
می‌تونی از تگ‌های معمولی و ساده‌ی html هم استفاده کنی.
با دکمه‌هایی که بالای ویرایش‌گر قرار دارند کلی کار می‌شه کرد. از عکس‌گذاشتن بگیر تا لیست شماره‌دار. حتما امتحان‌شون کن.

علائم ریاضی:

برای نوشتن علائم ریاضی می‌تونی از Mathjax استفاده کنی. راهنمای Mathjax رو از سایت math.stackexchange بخون.
برای نوشتن عبارت ریاضی وسط جمله، اون عبارت رو بین دوتا $ قرار بده.
برای نوشتن عبارت ریاضی تو یه خط جدید اون رو بین دوتا $$ قرار بده.

در یک جدول بزرگترین مربع به ضلع k که دارای مجموع بیشینه باشد

1

یک جدول n*n داریم که از اعداد مختلف پر است بزرگترین زیر مربع به طول k را بیابید که مجموع اعداد آن بیشینه باشد.

برنامه-نویسی مرحله۳
2015-04-12 07:38:17 -0500
سید علوی 1041 ● 11 ● 16 ● 35
پاک‌کردن   ویرایش سوال
نظرات

n تا چنده؟ k تا چنده؟

2015-04-12 09:27:34 -0500 م زمانی

وقتی یه زیر مربع به طول k ئه بزرگترین زیر مربع چه معنایی داره؟؟

2015-04-12 09:37:09 -0500 حمیدرضاه

k هر چیزی میتونه باشه احتمالن! ولی خب n تا چنده؟

2015-04-12 09:48:16 -0500 ناسحا

شاید هم نه! نمیدونم! XD

2015-04-12 09:53:37 -0500 ناسحا

راه حل خطی داره خوب پس همون جوریه :)))) فکر نکنم ندونی چیه راه حلش ؟؟

2015-04-12 10:01:35 -0500 حمیدرضاه

1 پاسخ

2

اول میای جمع اعداد جدول تا هر جا رو سیو میکنی به این صورت

$$ sum[i][j]=a[i][j]+sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1] $$

بعد یه $brute force$ میزنی که این جوری واسه هر خونه جمع مربعی که این خونه پایین سمت راستش باشه رو حساب میکنی اونم با این فرمول:

$$ res[i][j]=sum[i][j]-sum[i-k][j]-sum[i][j-k]+sum[i-k][j-k] $$

بعد بین این res ها مکس بگیر میشه جواب

$$ O(n^2) $$

2015-04-12 10:18:34 -0500
حمیدرضاه 2979 ● 20 ● 26 ● 52
پاک‌کردن   ویرایش پاسخ
نظرات

sum[i][j] += a[i][j

2015-04-12 10:46:15 -0500 ایمان غلامی

لطفا کدش رو هم بگذارر

2015-04-12 11:47:32 -0500 سید علوی

پاسخ شما

فقط در صورتی که پاسخی برای این پرسش دارید، آن را اینجا بنویسید و برای بحث کردن از قسمت «ثبت‌ نظر» استفاده کنید. شما می‌توانید قبل از وارد شدن به سایت پاسخ خود را بنویسید. این پاسخ ذخیره می‌شود و زمانی که شما وارد سایت شدید یا ثبت‌نام کردید منتشر می‌شود.

پیش‌نمایش:

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