湖裡有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...