牛踩花 貪心

2021-10-06 17:26:34 字數 480 閱讀 3695

題意:有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 貪心

首先看到題目求最小覆蓋,應該可以想到是貪心類的問題 題目要求覆蓋所有骨龍,首先所有骨龍都會在一段區間內被覆蓋,我們可以算出每個骨龍的這段距離。之後就是求有多少個點可以將這些區間全部覆蓋,這是貪心的經典問題。顯然是先排序,以第乙個點的右端點為初始值,往下遍歷,如果某個左端點大於他,那麼更新為當前的右端...