poj 3262 牛毀壞花問題 貪心演算法

2022-09-08 18:30:12 字數 711 閱讀 9792

題意:有n頭牛,每頭牛回去都需要一定時間,如果呆在原地就會毀壞花朵。問:怎麼安排使得毀壞的花朵最少?

思路:拉走成本最高的。

什麼是成本?毀壞花朵的數量。

例如有兩種排序   (這裡用(a,b)表示題意,a表示往回走的時間,b表示呆在原處毀壞花朵的數量

(a,b) (c,d) 成本為 x*b+(x+a)*d;

(c,d) (a,b) 成本為 x*d+(x+c)*b;

兩種成本顯示,如果ad>bc則選擇下面那種排序,如果bc>ad則選擇上面那種排序,實現的**

bool

cmp(cow a, cow b)

通過這種成本由高到低的排序,只要遍歷,時間*毀壞的花朵累加既可以得到答案

解決問題的**:

#include #include 

#include

using

namespace

std;

struct

cowcow[

100001

];bool

cmp(cow a, cow b)

intmain()

printf(

"%d\n

", sum);

return0;

}

poj 3278 bfs(抓住那頭牛)

題意 農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上,農夫起始位於點n 0 n 100000 牛位於點k 0 k 100000 農夫有兩種移動方式 1 從x移動到x 1或x 1,每次移動花費一分鐘 2 從x移動到2 x,每次移動花費一分鐘 假設牛沒有意識到農夫的行動,站在原地不動。農夫最少要...

POJ 3278 抓牛(廣搜)

題意 john和它的牛在一天直線上,joh每次可以向前走一步或者向後走一步或者跳到當前位置的2倍位置上,求john在最少的時間裡抓到那牛。輸入 john當前位置和牛所在的位置。輸出 john花的最少時間。分析 可以將問題轉化為從乙個點到另乙個點的最少步數,這裡可以用廣搜去做,首先將當前john的位置...

POJ3274 牛的屬性 HASH ACM

原題 poj3274 參考 進擊的阿俊 已知有n頭牛,用乙個k位二進位制數ak,ak 1,a1表示一頭牛具有的特徵,ai 1表示具有特徵i。現給定按順序排列的n頭牛的k位特徵值,稱某個連續範圍內 特徵平衡 假如在這個範圍內,擁有各個特徵的牛的數量都相等。求最大 特徵平衡 連續範圍。分析 用sum i...