bzoj1691 挑剔的美食家

2021-07-24 06:20:27 字數 2260 閱讀 2244

time limit: 5 sec  

memory limit: 64 mb

submit: 761  

solved: 377 [

submit][

status][

discuss]

與很多奶牛一樣,farmer john那群養尊處優的奶牛們對食物越來越挑剔,隨便拿堆草就能打發她們午飯的日子自然是一去不返了。現在,farmer john不得不去牧草專供商那裡購買大量美味多汁的牧草,來滿足他那n(1 <= n <= 100,000)頭挑剔的奶牛。 所有奶牛都對fj提出了她對牧草的要求:第i頭奶牛要求她的食物每份的價錢不低於a_i(1 <= a_i <= 1,000,000,000),並且鮮嫩程度不能低於b_i(1 <= b_i <= 1,000,000,000)。商店裡**m(1 <= m <= 100,000)種不同的牧草,第i 種牧草的定價為c_i(1 <= c_i <= 1,000,000,000),鮮嫩程度為d_i (1 <= d_i <= 1,000,000,000)。 為了顯示她們的與眾不同,每頭奶牛都要求她的食物是獨一無二的,也就是說,沒有哪兩頭奶牛會選擇同一種食物。 farmer john想知道,為了讓所有奶牛滿意,他最少得在購買食物上花多少錢。

* 第1行: 2個用空格隔開的整數:n 和 m

* 第2..n+1行: 第i+1行包含2個用空格隔開的整數:a_i、b_i * 第n+2..n+m+1行: 第j+n+1行包含2個用空格隔開的整數:c_i、d_i

* 第1行: 輸出1個整數,表示使所有奶牛滿意的最小花費。如果無論如何都無法 滿足所有奶牛的需求,輸出-1

4 71 12 3

1 44 2

3 22 1

4 35 2

5 42 6

4 412

輸出說明:

給奶牛1吃價錢為2的2號牧草,奶牛2吃價錢為4的3號牧草,奶牛3分到價錢

為2的6號牧草,奶牛4選擇價錢為4的7號牧草,這種分配方案的總花費是12,為

所有方案中花費最少的。

gold

題解:

通過觀察這道題的資料範圍發現這道題如果用二分圖匹配,網路流什麼的話會超時

但是這道題由於有兩個比較關係,所以可以很容易想到貪心

貪心思路:對於每乙個牛,找出美食度滿足且**盡量小的草

但是牛要進行排序,從大到小找,才能使答案滿足(先搞難得)

然後就可以用平衡樹維護出答案了(看到網上很多大神是用multiset的,想了想還是算了,畢竟自己平衡樹還不怎麼會寫)

具體見**

#include #include #include using namespace std;

const int maxn=100007;

int root;

struct node

}a[maxn],b[maxn];

int tr[maxn][2];

int val[maxn],w[maxn];

int rnd[maxn];

int e1;

void lturn(int &k)

void rturn(int &k)

int ans=-1;

void insert(int &k,int x)

if(val[k]==x) w[k]++;

else if(val[k]1) w[k]--;

else if(tr[k][0]*tr[k][1]==0) k=tr[k][0]+tr[k][1];

else

else query_pro(tr[k][1],x);

}int main()

for(int i=1;i<=m;i++) scanf("%d%d",&b[i].a,&b[i].b);

sort(a+1,a+n+1);sort(b+1,b+m+1);

int j=1;

long long tot=0;

for(int i=1;i<=n;i++)

ans=-1;

query_pro(root,a[i].a);

if(ans==-1)

tot+=ans;

del(root,ans);

} printf("%lld",tot);

return 0;

}

bzoj1691 挑剔的美食家

與很多奶牛一樣,farmer john那群養尊處優的奶牛們對食物越來越挑剔,隨便拿堆草就能打發她們午飯的日子自然是一去不返了。現在,farmer john不得不去牧草專供商那裡購買大量美味多汁的牧草,來滿足他那n 1 n 100,000 頭挑剔的奶牛。所有奶牛都對fj提出了她對牧草的要求 第i頭奶牛...

bzoj1691 挑剔的美食家

考慮將奶牛和牧草放在一起,根據鮮嫩程度排序,那麼顯然就可以發現乙個貪心策略 每一頭奶牛一定選擇當前剩餘的最便宜且符合條件的牧草,然後用乙個set維護 即可 1 include2 using namespace std 3struct jia 200005 6 multisets 7int n,m 8...

Jzoj 1246 挑剔的美食家

與很多奶牛一樣,farmer john那群養尊處優的奶牛們對食物越來越挑剔,隨便拿堆草就能打發她們午飯的日子自然是一去不返了。現在,farmer john不得不去牧草專供商那裡購買大量美味多汁的牧草,來滿足他那n 1 n 100,000 頭挑剔的奶牛。所有奶牛都對fj提出了她對牧草的要求 第i頭奶牛...