題意:有n只奶牛在吃花,為了減少花的損失,將奶牛放回穀倉去,每只奶牛距離各自的穀倉ti分鐘時間的距離,並且每只在花園的奶牛每分鐘吃di朵花,一次只能放乙隻奶牛回去,由於回去回來,所以需花費2*ti的時間,求奶牛最少吃多少花?
思路:交換前後兩個牛的順序並不影響其他的牛那麼解題思路
t代表兩頭牛前面的牛a牛在前
假設a在b前最優
tad+(t+ta)bdbd+(t+tb)ad
化簡:tabdad
#include
#include
using namespace std;
#define ll long long
struct w
w[1000];
bool cmp(struct w a,struct w b)
int main()
ll z=0;
for(int i=0;iw[i].tsum;
}cout<}
poj 3262 牛毀壞花問題 貪心演算法
題意 有n頭牛,每頭牛回去都需要一定時間,如果呆在原地就會毀壞花朵。問 怎麼安排使得毀壞的花朵最少?思路 拉走成本最高的。什麼是成本?毀壞花朵的數量。例如有兩種排序 這裡用 a,b 表示題意,a表示往回走的時間,b表示呆在原處毀壞花朵的數量 a,b c,d 成本為 x b x a d c,d a,b...
貪心 605 種花問題
假設有乙個很長的花壇,一部分地塊種植了花,另一部分卻沒有。可是,花不能種植在相鄰的地塊上,它們會爭奪水源,兩者都會死去。給你乙個整數陣列 flowerbed 表示花壇,由若干 0 和 1 組成,其中 0 表示沒種植花,1 表示種植了花。另有乙個數 n 能否在不打破種植規則的情況下種入 n 朵花?能則...
牛客 Guard the empire 貪心
首先看到題目求最小覆蓋,應該可以想到是貪心類的問題 題目要求覆蓋所有骨龍,首先所有骨龍都會在一段區間內被覆蓋,我們可以算出每個骨龍的這段距離。之後就是求有多少個點可以將這些區間全部覆蓋,這是貪心的經典問題。顯然是先排序,以第乙個點的右端點為初始值,往下遍歷,如果某個左端點大於他,那麼更新為當前的右端...