9 貪心演算法 危險的實驗

2021-08-19 20:17:07 字數 801 閱讀 5029

description

小明最近在上化學課,他需要使用到 n 種化學物質來進行他的實驗。在做實驗的時候,他需要將所有化學物質放在桌面上,按次序排成一條直線。然而每一種化學物質都是危險品,對於第 i 個化學物質,如果有另外乙個化學物質距離它的距離小於 ai,那麼就會發生**。小明想知道如果要安全的完成他的實驗,桌子最短可以多短。

input

第一行乙個整數 n,表示化學物質的個數。

第二行有 n 個整數, 第 i 個整數 ai 表示第 i個化學物質必須與其他化學物質保持的距離。

output

輸出一行,包括乙個整數,表示能夠讓小明安全完成實驗的桌子最小長度。

注意:物品要安原來的次序擺放。

sample input

33 1 2

sample output

5hint

【資料範圍】

20%的資料,1<=n<=20

50%的資料,1<=n<=100000

100%的資料,1<=n<=1000000,1<=ai<=100000

ac**如下:

#include #define size 1000001

using namespace std;

int a[size];

int main(int argc, char** argv)

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

cout << r << endl; // 輸出結果

return 0;

}

演算法實驗2《貪心演算法實驗》

1.編寫乙個簡單的程式,實現單源最短路徑問題。include include using namespace std void init int list list 0 1 10 list 0 3 30 list 0 4 100 list 1 2 50 list 2 4 10 list 3 2 20...

演算法設計與分析9 貪心演算法

木棒加工問題 現有n根木棒,已知它們的長度和重量。要用一部木工機一根一根地加工這些木棒。該機器在加工過程中需要一定的準備時間,是用於清洗機器,調整工具和模版的。木工機需要的準備時間如下 1 第一根木棒需要1min的準備時間 2 在加工了一根長為l 重為w的木棒之後,接著加工一根長為l l l 重為 ...

經典貪心演算法 貪心演算法概述

貪心演算法具有最優子問題結構,它的特點是 短視 每次選擇對當前局面最有利的決策,來一步步獲得最優解。我個人認為,貪心不是乙個具體的方法,而是一類方法,貪心演算法的關鍵不在於想到,而在於正確性的證明。要證明乙個貪心演算法是正確的,需要證明我們可以把乙個最優解逐步轉化為我們用貪心演算法所得到的解,而解不...