解題報告 USACO 酸奶工廠

2021-06-26 15:52:24 字數 1070 閱讀 7498

奶牛經營了一家酸奶工廠,生意非常紅火。在接下去的 n 個月裡,第 i 個月需要向社會提供 a i 噸酸奶。酸奶的生產受到很多因素的影響,所以每個月的生產成本是變化的,其中第 i 個月的成本是 每噸 c i 元。

奶牛可以提前裡把酸奶做好,存在倉庫裡,等需要的時候再拿出來賣。儲存在倉庫裡的酸奶,每 噸酸奶存放乙個月需要支付 s 元的維護費用,存放的時間可以任意長。假設工廠的產量是無限的,存 儲酸奶的倉庫也是無限大的。請問為了滿足訂單的需要,奶牛生產這些酸奶最少要花多少錢?

單個整數:表示生產酸奶的最小總費用

4 5 

88 200

89 400

97 300

91 500

126900
第乙個月生產 200 噸酸奶;第二個月生產噸酸奶,並存下 300 噸;第三個月不生產酸奶;第三個月生產 500 噸

yogurt factory, usaco 2005 mar

演算法:貪心

簡析:當第i月的酸奶儲存到第j月的單位維護費+單位成本(i<=j)小於第j月的單位成本,則選取i月的酸奶填充j月較優

當第i月的酸奶儲存到第j月的單位維護費+單位成本(i<=j)大於等於第j月的單位成本,則用第j月的酸奶來填充之後月份的酸奶會比用第i月的                  更優【因為成本已經固定,每月的維修費是一樣的】(i

做法:用now記錄前i-1個月的最優單位費用(每個月累加s),若比第i月的單位費用大則替換。 計算入答案

注意:now和ans可能超出longint範圍,使用long long

複雜度:o(n)

//usaco 酸奶工廠 貪心 

//錯誤:1: 資料範圍,now,ans(long long)

//錯誤 2: long long輸出時是lld

#includeint n,s,c,a;

long long now=10000000,ans=0;

int main()

printf("%lld",ans);

return 0;

}

USACO 4 2解題報告

求最大流。模板題,dinic即可。給出每個奶牛所喜愛的牛棚,每個奶牛只在它喜愛的牛棚中才能產奶,每個牛棚最大容納乙隻奶牛,求最多能讓多少奶牛產奶。最大流問題,源點向每頭奶牛連一條容量為1的邊,每頭奶牛向它喜愛的牛棚連一條容量為1的邊,每個牛棚向匯點連一條容量為1的邊,dinic求出最大流。每個工件要...

USACO 4 4解題報告

題目翻譯 直接進行廣度優先搜尋,為了節省空間,將每個狀態作為字串,若set中已有該串,則不搜尋該狀態 否則將該串插入set並搜尋該狀態。為了使字典序最小,每次w只向右移動,b只向左移動。題目翻譯 實質上是最小割問題,為了使邊數最小且使字典序最小,每條邊的容量 1001 1 5000 i i為邊的序號...

USACO 5 1 5 2解題報告

題目翻譯 凸包模板題,用graham掃瞄法解決。題目翻譯 搜尋題,每發現乙個星座便使用floodfill演算法找出完整星座並與已發現星座比對,若無符合星座則將該星座及其其他7個方向加入,若有符合則直接按該星座的發現次序染色。題目翻譯 讀入資料時對每兩個相鄰數字做差分,對差分數列列舉子串,在剩餘部分中...