Entertainment Box

题意:

  • 有n个节目,每个节目给出开始时间(st)和结束时间(en);
  • 有k个内存条这k个内存条可以同时存储节目。如果节目j的开始时间stj  大于等于节目i的结束时间,就可以放进内存条中;
  • 问这k个内存条最多可以存储多少个节目。

思路:开一个multiset容器,开始压入k个0,表示k个内存条,这k个数表示存入的该内存条的最后一个节目的结束时间。将所有的节目按结束时间由小到大排序,然后遍历所有节目的开始时间,查找最后一个小于等于当前开始时间的结束时间,更新,记录存起来的节目的数量。

代码:

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <set>
using namespace std;
const int maxn = 1e5;
typedef long long ll;
//typedef pair<int,int> P;
struct P
{
int st, en;
}p[maxn];
int n, k;
multiset<int> s;
multiset<int>::iterator it;
bool cmd(P &a, P &b)
{
return a.en < b.en;
} int main()
{
while (cin >> n >> k)
{
s.clear();
for (int i = ; i < n; i++)
cin >> p[i].st >> p[i].en; sort(p, p + n, cmd); for (int i = ; i < k; i++)
s.insert(); int ans = ;
for (int i = ; i < n; i++)
{
it = s.upper_bound(p[i].st);
if (it == s.begin()) continue;
it--;
s.erase(it);///更新节目的结束时间
s.insert(p[i].en);
ans++;
} cout << ans << endl;
}
return ;
}

Entertainment Box Gym100781E(数据结构+贪心)的更多相关文章

  1. 2015-2016 ACM-ICPC Nordic Collegiate Programming Contest ---E题Entertainment Box(有点变化的贪心)

    提交链接 http://codeforces.com/gym/100781/submit Description: Ada, Bertrand and Charles often argue over ...

  2. Codeforces Round #228 (Div. 2) C. Fox and Box Accumulation(贪心)

    题目:http://codeforces.com/contest/389/problem/C 题意:给n个箱子,给n个箱子所能承受的重量,每个箱子的重量为1: 很简单的贪心,比赛的时候没想出来.... ...

  3. 计蒜客:Entertainment Box

    Ada, Bertrand and Charles often argue over which TV shows to watch, and to avoid some of their fight ...

  4. Entertainment Box(可多执行的区间问题)

    本题出自: Nordic Collegiate Programming Contest 2015​ Ada, Bertrand and Charles often argue over which T ...

  5. Codeforces Round #555 (Div. 3) E. Minimum Array 【数据结构 + 贪心】

    一 题面 E. Minimum Array 二 分析 注意前提条件:$0 \le  a_{i} \lt n$ 并且 $0 \le  b_{i} \lt n$.那么,我们可以在$a_{i}$中任取一个数 ...

  6. Nordic Collegiate Programming Contest 2015​ E. Entertainment Box

    Ada, Bertrand and Charles often argue over which TV shows to watch, and to avoid some of their fight ...

  7. Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) D2. Optimal Subsequences (Hard Version) 数据结构 贪心

    D2. Optimal Subsequences (Hard Version) This is the harder version of the problem. In this version, ...

  8. Codeforces Round #570 (Div. 3) G. Candy Box (hard version) (贪心,优先队列)

    题意:你有\(n\)个礼物,礼物有自己的种类,你想将它们按种类打包送人,但是打包的礼物数量必须不同(数量,与种类无关),同时,有些礼物你想自己留着,\(0\)表示你不想送人,问你在送出的礼物数量最大的 ...

  9. 两个Bounding Box的IOU计算代码

    Bounding Box的数据结构为(xmin,ymin,xmax,ymax) 输入:box1,box2 输出:IOU值 import numpy as np def iou(box1,box2): ...

随机推荐

  1. 最简单的基于FFmpeg的移动端样例:Android HelloWorld

    ===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:A ...

  2. Oracle行转列,列转行,行列相互转换

    1.行转列 SELECT WM_CONCAT(COLUMN_NAME) COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'T_CREATE_T ...

  3. oc71--NSArray2

    // // Person.h #import <Foundation/Foundation.h> @interface Person : NSObject - (void)say; - ( ...

  4. Android开发:setAlpha()方法

    paint.setAlpha() 即透明度.其取值范围是0---255,数值越小,越透明,颜色上表现越淡. 实际上当设成10以下就会有透明的效果了.

  5. 【POJ 2689】 Prime Distance

    [题目链接] http://poj.org/problem?id=2689 [算法] 我们知道,一个在区间[l,r]中的合数的最小质因子必然不超过sqrt(r) 那么,先暴力筛出1-50000中的质数 ...

  6. 【POJ 2503】 Babelfish

    [题目链接] http://poj.org/problem?id=2503 [算法] 字符串哈希 [代码] #include <algorithm> #include <bitset ...

  7. java enum int String 相互转换

    1.  enum<->int enum -> int: int i = enumType.value.ordinal(); int -> enum: enumType b= e ...

  8. codevs1669 运输装备(背包dp)

    1669 运输装备  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 钻石 Diamond   题目描述 Description 德国放松对英国的进攻后,把矛头指向了东北——苏联 ...

  9. [Swift通天遁地]九、拔剑吧-(11)创建强大的Pinterest风格的瀑布流界面

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  10. 【学习笔记】线段树—扫描线补充 (IC_QQQ)

    [学习笔记]线段树-扫描线补充 (IC_QQQ) (感谢 \(IC\)_\(QQQ\) 大佬授以本内容的著作权.此人超然于世外,仅有 \(Luogu\) 账号 尚可膜拜) [学习笔记]线段树详解(全) ...