Fishing Master 貪心演算法

2021-10-09 10:15:27 字數 767 閱讀 1779

湖裡有n條魚, 每釣一條魚需要花費的時間為m(可以選擇釣第幾條魚). 只能同時烹飪一條魚, 烹飪第i條魚所花費的時間至少為a[i], 可以在烹飪的期間去捕魚. 問最少需要花費多少時間將n條魚烹飪完畢.

貪心演算法

最理想的情況下, 需要花費的時間res = m + 烹飪所有魚的時間總和.

但是有的情況下, 我們並不能在烹飪每條魚時都恰好能去釣魚, 所以我們需要將有些魚多烹飪一些時間, 去額外釣一些魚.我們要做的也就是去盡可能的減少額外花費的時間.

當我們烹飪第i條魚時, 我們可以不花費任何額外的時間釣魚的數目為a[i] / m, 剩餘的時間則為a[i] % m, 我們可以統計是否我們可以不花費任何額外時間釣完所有魚, 如果不可以, 則我們需要在剩餘時間最多的魚烹飪後多花去m - a[i] % m的時間.

#include

using

namespace std;

typedef

long

long ll;

#define rep(i, n) for (int i = 1; i <= n; ++i)

const

int n =

1e5+10;

int a[n]

;int

main()

return0;

}

洗手間, 永遠滴神!

貪心 區間貪心

給出n個開區間 x,y 從中選擇盡可能多的開區間,使得這些開區間兩兩沒有交集。先對左端點 從大到小 排序,如果左端點相同就對右端點從小到大排序。區間不相交問題 include include using namespace std const int maxn 110 區間結構體 struct in...

python貪心法 演算法 貪心

貪心演算法也被稱為貪婪演算法,它是指在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響以後的狀態,只與...

貪心 關於貪心的例項的實現

最近再複習自己學的簡單演算法知識,順便鞏固一下關於stl的東西,因為很菜,所以可能 寫的很爛 所謂貪心,就是把整體最優解轉化成區域性最優解來解決問題。選擇不相交區間 數軸上有n個開區間 a i b i 選擇盡量多的區間,使得這些區間兩兩沒有公共點 include include include in...