这个题是说有C头牛去晒太阳,带了L瓶防晒霜,每瓶防晒霜都有一个SPF值(每瓶防晒霜都能解决一个最短路 )

每头牛给出了他可以接受防晒霜的上限,和下限,每种防晒霜都给出了SPF值与数量。

从防晒霜的spf值最小开始贪心,每次将奶牛最大接受限度小的牛且符合条件选出,那么这头牛一定比其他牛接受范围更小,应该优先选择。

#include <bits/stdc++.h>
using namespace std;
const int maxn=3000;
struct cow
{
int maxi;
int mini;
bool operator <(const cow & w)const
{
if(maxi==w.maxi) return mini<w.mini;
return maxi>w.maxi;
}
bool operator ==(const cow & w)const
{
if(maxi==w.maxi&&mini==w.mini) return 1;
return 0;
}
} w ;
struct spf
{
int sp;
int nu;
bool operator <(const spf& w)const
{
return sp>w.sp;
}
} x;
int n,m,ans;
priority_queue<spf> s;
cow c[maxn];
priority_queue<cow>cw;
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
cin>>c[i].mini>>c[i].maxi;
for(int i=0;i<m;i++)
cin>>x.sp>>x.nu,s.push(x);
// cout<<(s.top().sp)<<endl;
while(!s.empty())
{
spf tem=s.top();
s.pop();
while(!cw.empty())cw.pop();
for(int i=0;i<n;i++)
{
if(c[i].mini<=tem.sp&&c[i].maxi>=tem.sp)
cw.push(c[i]);
}
if(!cw.empty()){
cow temp=cw.top();
c[find(c,c+n,temp)-c].maxi=-99;
ans++;
tem.nu--;
if(tem.nu!=0) s.push(tem);
}
else ;
if(ans==n) break;
}
cout<<ans<<endl;
}

POJ3614防晒霜 这个贪心有点东西(贪心+优先队列)的更多相关文章

  1. POJ - 3190 Stall Reservations 贪心+自定义优先级的优先队列(求含不重叠子序列的多个序列最小值问题)

    Stall Reservations Oh those picky N (1 <= N <= 50,000) cows! They are so picky that each one w ...

  2. [luoguP2672] 推销员(贪心 + 树状数组 + 优先队列)

    传送门 贪心...蒟蒻证明不会... 每一次找最大的即可,找出一次最大的,数列会分为左右两边,左边用stl优先队列维护,右边用树状数组维护.. (线段树超时了....) 代码 #include < ...

  3. POJ3614奶牛晒阳光DINIC或者贪心

    题意:       n个区间,m种点,每种点有ci个,如果一个点的范围在一个区间上,那么就可以消耗掉一个区间,问最多可以消耗多少个区间,就是这n个区间中,有多少个可能被抵消掉. 思路:       方 ...

  4. Codeforces 898 贪心关闭最少闹钟 优先队列最少操作构造N/2squares 讨论情况哈希数字串分割a+b=c

    A /* Huyyt */ #include <bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define mkp(a,b) ...

  5. 【贪心科技】贪心科技内容合伙人关于AI公司及创业的演讲笔记

    贪心科技内容合伙人关于AI公司及创业的演讲笔记 视频 目录 一.投资角度对 AI 的两个基本认知 二.简单分析 AI 公司的两个纬度四个层面 三.AI 垂直行业应用的三点中美对比 四.给创业者的四个建 ...

  6. POJ 1328 Radar Installation(很新颖的贪心,区间贪心)

    Radar Installation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 106491   Accepted: 2 ...

  7. BZOJ 3507 通配符匹配(贪心+hash或贪心+AC自动机)

    首先可以对n个目标串单独进行处理. 对于每个目标串,考虑把模式串按'*'进行划分为cnt段.首尾两段一定得于原串进行匹配.剩下的cnt-2段尽量与最靠左的起点进行匹配. 对于剩下的cnt-2段.每段又 ...

  8. CCCC L2-003. 月饼[贪心/类似hdu贪心老鼠]

    L2-003. 月饼 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不 ...

  9. BZOJ 1707 [Usaco2007 Nov]tanning分配防晒霜(扫描线+贪心+优先队列)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1707 [题目大意] 每个奶牛各自能够忍受的阳光强度有一个最小值和一个最大值 防晒霜的作 ...

随机推荐

  1. Java并发编程实战 01并发编程的Bug源头

    摘要 编写正确的并发程序对我来说是一件极其困难的事情,由于知识不足,只知道synchronized这个修饰符进行同步. 本文为学习极客时间:Java并发编程实战 01的总结,文章取图也是来自于该文章 ...

  2. MySQL学习之路3-MySQL中常用数据类型

    MySQL中常用数据类型 字符型 存储字符型数据.例如姓名,地址,电话号码等.使用引号括起来,一般使用单引号. 常用类型: char(255) 定长字符串,最大长度255个字符. varchar(25 ...

  3. tcp协议:三次握手四次挥手详解-转

    https://www.cnblogs.com/welan/p/9925119.html

  4. 对称加密算法在C#中的踩坑日常

    前言 有幸接触了一下传说中的对称加密算法3DES 感觉这些加密算法与我的工作是想去甚远的,一般没什么机会接触这些东西 今次了解了一下3DES这个对称算法 原理算不上明白,算是踩了C#中的一些坑吧 C# ...

  5. ln -s 软链接命令

    所有对软链接link_name的操作都是对目录或文件dir_file的操作 ln -s [dir_file] [link_name]

  6. 原生js俄罗斯方块

    效果图 方块定位原理通过16宫格定位坐标,把坐标存到数组中去 [ [[2,0],[2,1],[2,2],[1,2]],//L [[1,1],[2,1],[2,2],[2,3]], //左L [[2,0 ...

  7. Redis学习二:Redis高并发之主从模式

    申明 本文章首发自本人公众号:壹枝花算不算浪漫,如若转载请标明来源! 感兴趣的小伙伴可关注个人公众号:壹枝花算不算浪漫 22.jpg 前言 前面已经学习了Redis的持久化方式,接下来开始学习Redi ...

  8. mysql中show status介绍一

    公司产品运用到mysql集群,集群遇到问题时,需要查看集群状态,使用到命令show status,今天趁机将show status中的各个变量的含义研究一下. 状态名 作用域 详细解释 Aborted ...

  9. LCA基础 附例题(落谷)

    https://www.luogu.org/problemnew/solution/P3379 LCA叫做最短公共祖先,用来求距离树上两个节点最近的公共点: 常用倍增算法: #include<i ...

  10. vue2.x学习笔记(九)

    接着前面的内容:https://www.cnblogs.com/yanggb/p/12577948.html. 数组的更新检测 数组在javascript是一种特殊的对象,不是像普通的对象那样通过Ob ...