北大ACM Packets(貪心)

2021-09-11 01:17:40 字數 1082 閱讀 5076

題意:有一堆等高的包裝好的產品,有1×1,2×2,3×3,4×4,5×5,6×6六種包裝,且有6×6的包裹,用來裝這些包裝好的產品。分別給出每種包裝的數量,求所需的最少的包裹。

分析:乙個包裹只能容下1個6×6餘0空位,1個5×5餘11,1個4×4餘20,最多能容下4個3×3,9個2×2,36個1×1。

貪心策略:盡可能地利用空間。先從大的裝起,6×6的獨用乙個,其它的若有剩餘,則用1×1或2×2去填補空間,需要注意,5×5只能用1×1去填補剩餘空間。

偽**如下:

long long a1,a2,a3,a4,a5,a6;

long long lef2,lef3,lef4,lef5;

long long sum;

while(~scanf("%lld"a1-a6))

if(4×4有剩餘)

if(3×3沒有剩餘)

else

if(lef327)

else if(lef318)

else if(lef3==9)

if(a2!=0)

else

}if(a1!=0)

else

}輸出sum;

}**如下:

#includeusing namespace std;

int main()

if(lef5!=0)

if(lef4!=0)

else

}if(lef3!=0)

else

a1=a1-lef3;

if(a1<0) a1=0;

}else if(lef3==18)

else

a1=a1-lef3;

if(a1<0) a1=0;

}else if(lef3==9)

a1=a1-lef3;

if(a1<0) a1=0;

}} if(a2!=0)

else

}if(a1!=0)

printf("%lld\n",sum);

} return 0;

}

小結:分析仔細,從大的開始處理。不算難,但考驗**的能力。

北大OJ Yogurt factory(貪心)

原題連線 本題題意是 有n周,每週製作 運輸酸奶的 c,需求y都有變化,另有倉庫,可儲存任意多的酸奶,每週每單位儲存 恆定為s,求n周最少的總成本。本題的主要問題是 第i周的酸奶要不要之前就製作好存下來,還是直接做完賣了,就是存與不存的問題。下面我們來探尋一下存與不存的條件。n sc i y i c...

北大 OJ 4151 電影節(貪心)

總時間限制 1000ms 記憶體限制 65536kb 描述大學生電影節在北大舉辦 這天,在北大各地放了多部電影,給定每部電影的放映時間區間,區間重疊的電影不可能同時看 端點可以重合 問李雷最多可以看多少部電影。輸入多組資料。每組資料開頭是n n 100 表示共n場電影。接下來n行,每行兩個整數 0到...

數制轉換 北大

二刷 數制轉換 讀題可以發現題中可能有的幾個坑 資料可能存在包含前導零的情況 輸出時字母符號全部用大寫表示。其他 對於這種既有字元又有數字的轉換,常見的解決辦法就是初始化一張查詢表,之後進行對映查表,這樣會快很多。輸入和輸出都是字元陣列 include bits stdc h using names...