Loading [MathJax]/jax/output/HTML-CSS/jax.js

المپدیا

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

ابزار کاربر

ابزار سایت


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

سوال ۳

در یک مغازه‌ی عروسک‌فروشی، n عروسک به ترتیب با اندازه‌های a1,a2,,an ، گنجایش‌های b1,b2,,bn و قدمت‌های c1,c2,,cn وجود دارد. می‌دانیم در عروسک i-ام می‌توانیم حداکثر یک عروسک‌ با اندازه‌ی کم‌تر یا مساوی bi قرار دهیم (bi<ai). دقت کنید عروسک‌ها می‌توانند زنجیروار در یک‌دیگر قرار بگیرند. برای مثال عروسک ۱ در عروسک ۲ و عروسک ۲ در عروسک ۳ قرار بگیرد. اگر عروسکی را درون عروسک دیگری قرار بدهیم، برای خارج کردن عروسک درونی هزینه‌ای نمی‌پردازیم؛ زیرا مغازه‌دار متوجه نمی‌شود. برای مثال اگر عروسک ۱ درون عروسک ۲ و عروسک ۲ درون عروسک ۳ باشد، کافی است فقط هزینه‌ی عروسک ۳ را بپردازیم.

قیمت هر عروسک یک تومان است و ما تنها دو تومان پول داریم. الگوریتمی از O(n2) ارائه دهید؛ طوری که مجموع قدمت عروسک‌هایی که از مغازه خارج کرده‌ایم بیشینه شود (در صورتی که الگوریتمی از O(n3) ارائه دهید، می‌توانید تا حداکثر ۱۵ نمره بگیرید).


ابزار صفحه