貪心 STL 鋸木

2021-06-10 02:34:23 字數 844 閱讀 3346

【題目描述】

lazychild需要將一根非常長的木棒切成n段,每段的長度分別為l1,l2,…,ln個長度單位。∑li(i= 1,2,…,n)恰好就是原木棒的長度。我們認為切割時僅在整數點處切且沒有木材損失。

lazychild發現,每一次切割花費的體力與該木棒的長度成正比,不妨設切割長度為1的木棒花費1單位體力。

lazychild想請你幫他計算出最少要多少體力。

【輸入檔案】

第一行乙個整數n。

第二行n個整數,分別表示l1,l2,…,ln。

【輸出檔案】

一行乙個整數表示,lazychild要付出的最少體力值。

【樣例輸入】

3 5 7 11

【樣例輸出】

【資料規模和約定】

對於30%的資料,n <= 10

對於100%的資料,n <= 100000,li<= 1000

#include #include #include #include #include #include using namespace std;

long long sum = 0;

int n;

priority_queue , greater>queue;

void init_file()

void read_data()

}inline int get()

inline void merge()

void work()

printf("%i64d", sum);

}int main()

就是乙個反向的合併果子嘛……

沒什麼好說的

超市(stl 貪心)

鏈結 按照過期時間從小到大排序 兩個元素一組可以用pair,放在 vector裡面,排序 當前商品的個數 過期時間,把利潤最小的替換出去 小根堆 include define int long long using namespace std intn priority queue greater ...

鋸木廠選址

這是我斜率dp第乙個沒有一遍ac的,原因是第一遍忘開long long了。這一題比較特殊,細心的同學一定發現了,遞推式不帶f。為了方便,設d陣列的字尾和為sd i sd i 1 d i 設k陣列的字首和為sk i sk i 1 k i k i 即是題目中的w i 設f i 為第二個鋸木廠選在i時的最...

uva 11729 貪心 STL 應用

這道題沒有什麼難度 只需要建立乙個結構體 存當前部下的任務交待時間和執行任務所消耗的時間就行 之後按執行任務消耗時間的從大到小排序 如果消耗時間相等 就讓所用交代時間短的排在前面 讓消耗時間多的先執行 利用貪心 完成 其實題目沒有什麼難度 主要是 學會應用的stl容器的vector 下面貼出 inc...