先满足挑剔的

#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
typedef long long ll;
int n, m, tmp, rot, cnt;
ll ans;
struct Cow{
int pri, gre;
}cow[100005];
struct Gra{
int pri, gre;
}gra[100005];
struct Treap{
int val[100005], hav[100005], l[100005], r[100005], rnd[100005];
void lRotate(int &k){
int t=r[k]; r[k] = l[t]; l[t] = k; k = t;
}
void rRotate(int &k){
int t=l[k]; l[k] = r[t]; r[t] = k; k = t;
}
void insert(int &k, int x){
if(!k){
k = ++cnt; hav[k] = 1;
val[k] = x; rnd[k] = rand();
return ;
}
if(val[k]==x) hav[k]++;
else if(val[k]<x){
insert(r[k], x);
if(rnd[r[k]]<rnd[k]) lRotate(k);
}
else{
insert(l[k], x);
if(rnd[l[k]]<rnd[k]) rRotate(k);
}
}
void queryNxt(int k, int x){
if(!k) return ;
if(val[k]>=x) tmp = val[k], queryNxt(l[k], x);
else queryNxt(r[k], x);
}
void del(int &k, int x){
if(!k) return ;
if(val[k]==x){
if(hav[k]>1){
hav[k]--;
return ;
}
if(l[k]*r[k]==0) k = l[k] + r[k];
else if(rnd[l[k]]<rnd[r[k]])
rRotate(k), del(k, x);
else
lRotate(k), del(k, x);
}
else if(val[k]<x) del(r[k], x);
else del(l[k], x);
}
}treap;
bool cmp1(Cow x, Cow y){
return x.gre>y.gre;
}
bool cmp2(Gra x, Gra y){
return x.gre>y.gre;
}
int main(){
cin>>n>>m;
for(int i=1; i<=n; i++)
scanf("%d %d", &cow[i].pri, &cow[i].gre);
for(int i=1; i<=m; i++)
scanf("%d %d", &gra[i].pri, &gra[i].gre);
sort(cow+1, cow+1+n, cmp1);
sort(gra+1, gra+1+m, cmp2);
int j=1;
for(int i=1; i<=n; i++){
tmp = -1;
while(j<=m && gra[j].gre>=cow[i].gre){
treap.insert(rot, gra[j].pri);
j++;
}
treap.queryNxt(rot, cow[i].pri);
if(tmp==-1){
cout<<"-1"<<endl;
return 0;
}
ans += tmp;
treap.del(rot, tmp);
}
cout<<ans<<endl;
return 0;
}

luogu2869 [USACO07DEC]美食的食草动物Gourmet Grazers的更多相关文章

  1. Luogu2869 [USACO07DEC]美食的食草动物Gourmet Grazers (贪心,二分,数据结构优化)

    贪心 考场上因无优化与卡常T掉的\(n \log(n)\) //#include <iostream> #include <cstdio> #include <cstri ...

  2. P2869 [USACO07DEC]美食的食草动物Gourmet Grazers

    P2869 [USACO07DEC]美食的食草动物Gourmet Grazers 题目:约翰的奶牛对食物越来越挑剔了.现在,商店有M 份牧草可供出售,奶牛食量很大,每份牧草仅能供一头奶牛食用.第i 份 ...

  3. LG_2869_[USACO07DEC]美食的食草动物Gourmet Grazers

    题目描述 Like so many others, the cows have developed very haughty tastes and will no longer graze on ju ...

  4. [USACO07DEC]美食的食草动物Gourmet Grazers

    ---题面--- 题解: 首先观察题面,直觉上对于一头奶牛,肯定要给它配pi和qi符合条件的草中两者尽量低的草,以节省下好草给高要求的牛. 实际上这是对的,但观察到两者尽量低这个条件并不明确,无法用于 ...

  5. POJ3622 Gourmet Grazers(FHQ Treap)

    Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 2363   Accepted: 881 Description Like s ...

  6. bzoj1691/luogu2869 [USACO07DEC]挑剔的美食家 (STL::set)

    给牛和草都按价格排序,然后贪心地把草给牛(就是尽量给满足价格的.要求的美味度最高但不超过这个草的美味度的牛) 这个可以用一个平衡树来维护,偷懒直接用multiset了 #include<bits ...

  7. POJ 3622 Gourmet Grazers(贪心)

    [题目链接] http://poj.org/problem?id=3622 [题目大意] 给出一些物品拥有两个属性值,价格和精美程度 给出一些需求表示要求获得的物品两个属性值的两种属性下界, 一个物品 ...

  8. luogu 2869 挑剔的美食家

    Gourmet Grazers 传送门 题目大意 约翰的奶牛对食物越来越挑剔了.现在,商店有\(M\) 份牧草可供出售,奶牛食量很大,每份牧草仅能供一头奶牛食用.第\(i\) 份牧草的价格为\(P_i ...

  9. POJ1058 The Gourmet Club

    题目来源:http://poj.org/problem?id=1058 题目大意:ACM城的美食俱乐部有16位成员.他们连续了当地的法国餐厅Chatrau Java来安排连续5天的晚餐.晚餐时他们每4 ...

随机推荐

  1. bzoj 5018 [Snoi2017]英雄联盟

    题面 https://www.lydsy.com/JudgeOnline/problem.php?id=5018 题解 简单的dp 令dp[i][j]表示前i个英雄 总花费为j 最大能够得到的展示种数 ...

  2. 125 Valid Palindrome 验证回文字符串

    给定一个字符串,确定它是否是回文,只考虑字母数字字符和忽略大小写.例如:"A man, a plan, a canal: Panama" 是回文字符串."race a c ...

  3. Springboot 1.X 在Weblogic 中的发布

    springboot在tomcat中的兼容性很好,但是如果要把Springboot项目发布在weblogic,尤其是老版本的Weblogic就会出现各种问题.经过本人的不懈努力及查询资料,终于将Spr ...

  4. java的学习方向

    在我身边有很多初学者,或者想入门的门外汉问我该如何的去学习一门新的技术,如果你是一窍不通的门外汉,我给你的建议是,报一个可靠的基础培训班.当然培训班的方向也分为很多,有前端的培训课程.有java的培训 ...

  5. shutil模块详解2

    1.shutil.make_archive() 实际上是调用了两个模块来实现压缩打包的功能. zipfile和tarfile两个模块,shutil的两个封装的模块. zip是压缩文件,文件内存会变小, ...

  6. java 获取ip地址

    1.使用WIFI 首先设置用户权限 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"& ...

  7. iOS9 开发新特性 Spotlight使用

    1.Spotloight是什么? Spotlight在iOS9上做了一些新的改进, 也就是开放了一些新的API, 通过Core Spotlight Framework你可以在你的app中集成Spotl ...

  8. COGS 2685. 迷妹

    ★   输入文件:fans.in   输出文件:fans.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] 小钟.小皓和小曦都是著名偶像派OI选手,他们都有很多迷妹. 现 ...

  9. 洛谷 P1030 求先序排列

    题目描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入输出格式 输入格式: 2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序 ...

  10. # Transition:添加弹出过渡效果

    # Transition:添加弹出过渡效果 通过鼠标的单击.获得焦点,被点击或对元素任何改变中触发,并平滑地以动画效果改变CSS的属性值. W3C-transition MDN-transition ...