貪心演算法 Problem G

2021-07-10 14:16:54 字數 1124 閱讀 3321

貪心演算法—

problem g

題意

一部電梯,起始在0層,輸入一組資料表示樓梯先後到達的層數。已知每向上一層時間為6s,下降一層4s,每到達一次指定的樓層就停留5s,求輸入一組資料,輸出走完這些樓層所需要的總時間。

解題思路

建立陣列儲存樓層,第乙個資料肯定在0上直接乘6s;其餘的建立迴圈遍歷,比較與前乙個樓層的大小並把兩者之間的差值乘6或4;最後再加上每乙個目的樓層停留的時間,即總時間。

感想

不知道此題是否屬於貪心演算法,但好像我的做法並不是貪心,但提交後ac了,也不知前後如果兩個樓層相同的話是否應該再加停留時間,結果是第一次提交時wa,而注釋掉那句**後,ac了。所以可能要算上。

ac

**

#include

#include

using namespace std;

int main()

j=0;

count=n;

time=a[j]*6;

for(i=1;i

time+=5*count;

cout<

}

}

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

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

演算法 貪心演算法

把乙個複雜問題分解為一系列較為簡單的區域性最優選擇,每乙個選擇都是對當前解的乙個擴充套件,知道獲得問題的完整解。在解決問題的策略上目光短淺,只根據當前已有的資訊做出選擇,而且一旦做出了選擇,不管將來有什麼結果這個選擇都不會改變。換言之,貪心法並不是從整體最優考慮,它所做出的選擇只是在某種意義上的區域...

演算法 貪心演算法

集合覆蓋問題 旅行商問題等都屬於np完全問題,在數學領域上並沒有快速得到最優解的方案,非常適合用貪婪演算法。判斷方法 1.元素較少時,一般執行速度很快,但隨著元素數量增多,速度會變得非常慢 2.涉及到需要計算比較 所有的組合 情況的通常是np完全問題 3.無法分割成小問題,必須考慮各種可能的情況。這...