HDU1300 Pearls(可斜率優化)

2022-05-02 12:21:10 字數 958 閱讀 8636

question:有幾種不同的珍珠。每種珍珠都有它的單價。當然質量高的珍珠**一定也是高的。為了避免買家只買很少的珍珠。

就要求不論是買了多少個珍珠都是需要在購買數量上加10.之後乘上單價。求出總的花費!例如:買5個單價是10的珍珠。需要

的花費是(

5+10)*10= 150

.買100個單價是20的珍珠。需要的花費是(

100+10)*20= 2200.總共需要的花費是150+2200=2350

.如果把珍珠的質量提高了。需要的105個珍珠都買單價是20的。也就是說都買***的。總的花費是(

5+100+10)*20= 2300

.在兩組資料看來。珍珠都買了高品質的了,而且花費也少了!問題是怎麼樣能花費最少買珍珠!

add:合併肯定是相鄰的合併。比如啊a

對第i種珍珠一:前n-1種按照前面的最優值購買(無後效性),第n種單獨買 

二:從第k種到第n種數量合併購買,其中k從1取到n

hdu1300

#include

#include

#include

#include

#include

using

namespace

std;

int a[1010],c[1010],dp[1010],sum[1010

];int

main()

for(i=1;i<=n;i++)

}printf(

"%d\n

",dp[n]);

}return0;

}

檔案排版(codevs 1300)

題目描述 description 寫電子郵件是有趣的,但不幸的是經常寫不好看,主要是因為所有的行不一樣長,你的上司想要發排版精美的電子郵件,你的任務是為他編寫乙個電子郵件排版程式。完成這個任務最簡單的辦法是在太短的行中的單詞之間插入空格,但這並不是最好的方法,考慮如下例子 this is the e...

LeeCode 1300 三分 暴力

題意 傳送門 leecode 1300.轉變陣列後最接近目標值的陣列和 題解三分 隨著 val ue value valu e 減小,陣列和非嚴格遞減。那麼 tar ge ttarget target 與陣列和的絕對值在 val ue value valu e 附近會出現極小值 三分法求解即可。cl...

Codevs 1300 檔案排版

寫電子郵件是有趣的,但不幸的是經常寫不好看,主要是因為所有的行不一樣長,你的上司想要發排版精美的電子郵件,你的任務是為他編寫乙個電子郵件排版程式。完成這個任務最簡單的辦法是在太短的行中的單詞之間插入空格,但這並不是最好的方法,考慮如下例子 this is the example you are ac...