poj 3614 Sunscreen 贪心 优先队列
来源:互联网 发布:linux合并同名文件夹 编辑:程序博客网 时间:2024/04/29 01:31
题目
题目链接:http://poj.org/problem?id=3614
题目来源:《挑战》练习题
简要题意:
C 头牛,有防晒值上下限,有L 瓶防晒霜,给定防晒值和能给多少牛用,求最多防晒多少牛。数据范围:
1⩽C⩽2500;1⩽L⩽2500;1⩽minSPFi⩽maxSPFi⩽1000
题解
这题属于见过的类型,也知道是贪心,但是没反应过来,最后查了题解。
首先进行排序是肯定的,就按照pair去排序就行了。
处理的时候贪心去处理当前可以处理的上限最小的。
这里可以使用优先队列来搞,挑战上说了我还想其他的,简直白痴。
代码
#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>#include <cstring>#include <stack>#include <queue>#include <string>#include <vector>#include <set>#include <map>#define pb push_back#define mp make_pair#define all(x) (x).begin(),(x).end()#define sz(x) ((int)(x).size())#define fi first#define se secondusing namespace std;typedef long long LL;typedef vector<int> VI;typedef pair<int,int> PII;LL powmod(LL a,LL b, LL MOD) {LL res=1;a%=MOD;for(;b;b>>=1){if(b&1)res=res*a%MOD;a=a*a%MOD;}return res;}// headconst int N = 2505;PII a[N];PII b[N];int main() { int n, m; scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) { scanf("%d%d", &a[i].fi, &a[i].se); } for (int i = 0; i < m; i++) { scanf("%d%d", &b[i].fi, &b[i].se); } sort(a, a+n); sort(b, b+m); priority_queue<int> q; int x = 0, cur, ans = 0; for (int i = 0; i < m; i++) { while (x < n && a[x].fi <= b[i].fi) { q.push(-a[x++].se); } while (!q.empty() && b[i].se) { cur = -q.top(); q.pop(); if (cur < b[i].fi) continue; b[i].se--; ans++; } } printf("%d\n", ans); return 0;}
0 0
- POJ 3614 Sunscreen 优先队列 贪心
- POJ 3614 Sunscreen 贪心 优先队列
- POJ 3614 Sunscreen (贪心、优先队列)
- Sunscreen (poj 3614 贪心+优先队列)
- POJ 3614:Sunscreen 贪心+优先队列
- poj 3614 Sunscreen 贪心 优先队列
- poj 3614 Sunscreen 贪心+优先队列
- POJ 3614 Sunscreen(贪心+优先队列)
- Poj 3614 Sunscreen【贪心+优先队列】
- POJ 3614 Sunscreen(贪心+优先队列)
- POJ-3614--贪心+优先队列---Sunscreen
- Sunscreen (poj 3614 贪心+优先队列)zai
- poj 3614Sunscreen(优先队列和贪心)
- POJ 3614 Sunscreen [贪心 + 优先队列] 《挑战程序设计竞赛》2.4
- POJ 3614 Sunscreen 优先队列
- POJ 3614 Sunscreen 优先队列
- POJ 3614 Sunscreen 优先队列
- POJ 3614 Sunscreen 优先队列
- Win7/8安装VisualSVN-Servers失败的解决方案
- Lucene5.3高级应用
- http状态码一览表404 502 503等
- 常用正则表达式
- 反射+代理模式=动态代理
- poj 3614 Sunscreen 贪心 优先队列
- [sicily]1686. Happy Children's Day
- [C++渐进]引用与指针
- 获取屏幕分辨率
- Merge Intervals(LeetCode)
- iOS之DDLog打印日志
- 高内聚低耦合的特点
- 用phonegap将html打包成Android应用
- Linux下使用Tmux提高终端环境下的效率