随手练——HDU-2037 、P-2920 时间安排(贪心)
普通时间安排
HDU-2037 :http://acm.hdu.edu.cn/showproblem.php?pid=2037
选取结束时间早的策略。
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std; class T {
public:
int start, end;
T(int s, int e) {
start = s; end = e;
}
bool operator<(T t)const {
return end < t.end;
}
}; int main() {
int n, c1, c2;
vector<T>v;
while (cin >> n) {
if (n == )break;
while (n--) {
cin >> c1 >> c2;
v.push_back(T(c1, c2));
} sort(v.begin(), v.end());
int res = ; int end = v[].end;
for (int i = ; i < v.size(); i++) {
if (v[i].start >= end) {
res++;
end = v[i].end;
}
}
cout << res << endl;
v.clear();
}
return ;
}
时间管理升级1
洛谷:https://www.luogu.org/problemnew/show/P2920
思想和第一个差不多,稍微绕了一点小弯,这题装 vector 再做就超时了,能简尽量不要复杂。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class TIME {
public:
int t_s, t_e;
}T[];
int cmp(TIME t1, TIME t2) {
return t1.t_e < t2.t_e ? : ;
}
int main() {
int N;
cin >> N;
for (int i = ; i < N;i++) {
cin >> T[i].t_s >> T[i].t_e;
T[i].t_s = T[i].t_e - T[i].t_s;
}
sort(T, T + N, cmp);
int i = ;
while (i < N) {
if (T[i].t_s < T[i - ].t_e) {
while (T[i].t_s < T[i - ].t_e) {
T[i].t_s++;
T[].t_s--;
}
if (T[].t_s < )
break;
}
else {
while (T[i].t_s != T[i-].t_e) {
T[i].t_s--;
T[i].t_e--;
}
i++;
}
}
if (T[].t_s < || i != N)cout << - << endl;
else cout << T[].t_s << endl;
return ;
}
随手练——HDU-2037 、P-2920 时间安排(贪心)的更多相关文章
- 随手练——HDU 5015 矩阵快速幂
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5015 看到这个限时,我就知道这题不简单~~矩阵快速幂,找递推关系 我们假设第一列为: 23 a1 a2 ...
- 随手练——HDU Safe Or Unsafe (小根堆解决哈夫曼问题)
HDU 2527 :http://acm.hdu.edu.cn/showproblem.php?pid=2527 哈夫曼树,学完就忘得差不多了,题目的意思都没看懂,有时间复习下,看了别人的才知道是怎么 ...
- 随手练——HDU 1078 FatMouse and Cheese(记忆化搜索)
http://acm.hdu.edu.cn/showproblem.php?pid=1078 题意: 一张n*n的格子表格,每个格子里有个数,每次能够水平或竖直走k个格子,允许上下左右走,每次走的格子 ...
- 随手练——HDU 1284 动态规划入门
#include <iostream> #include <algorithm> #include <string.h> using namespace std; ...
- 随手练——HDU 1251 统计难题
知识点:前缀树.典型的前缀树模板. 这是用next[26]数组的版本,超内存了.(后来发现,用C++交不会超,G++就会超) #include <iostream> #include &l ...
- 随手练——HDU 1237 表达式求值(输入格式典型)
坑了老子半天,结果是 float 范围不够!!! 基本思想: 开一个符号栈,一个数字栈: 碰到数字就入栈,碰到符号就与栈顶符号进行对比,如果当前符号优先级小于栈顶符号,数字栈弹出两个数进行栈顶符号运算 ...
- HDU 2037 今年暑假不AC(贪心,区间更新,板子题)
今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- HDU 2037 今年暑假不AC(贪心)
今年暑假不AC Problem Description “今年暑假不AC?”“是的.”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了 ...
- HDU - 2037 今年暑假不AC 贪心(求序列中不重叠子序列的最大值问题)
HDU2037 今年暑假不AC 贪心算法 大意: 每次测试数据输入一个n,然后输入n对的电视节目播放时间:开始时间及结束时间, 求这个人能看的最多的完整的节目数. 解题思路: 对于这道解题,是对每个 ...
- 随手练—— 洛谷-P2945 Sand Castle(贪心)
题目链接:https://www.luogu.org/problemnew/show/P2945 (原题 USACO) 要求钱最少,就是试着让M和B的离散程度最小(我自己脑补的,就是总体更接近,我不知 ...
随机推荐
- 撩课-Web大前端每天5道面试题-Day4
1. 如何实现瀑布流? 瀑布流布局的原理: ) 瀑布流布局要求要进行布置的元素等宽, 然后计算元素的宽度, 与浏览器宽度之比,得到需要布置的列数; ) 创建一个数组,长度为列数, 里面的值为已布置元素 ...
- 微信小程序button选中改样式-实现单选/多选
小程序实现多button单选/多选 红色为选中状态 单选 多选 ①wxss /* pages/button-select/button-select.wxss */ .button_container ...
- 【SSH网上商城项目实战17】购物车基本功能的实现
转自:https://blog.csdn.net/eson_15/article/details/51418350 上一节我们将商品的详细页面做完了,并使用了Hibernate的二级缓存加载详细页面来 ...
- Hunger Snake3
- css实现修改默认滚动条样式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head&g ...
- HTML5 Canvas中绘制椭圆的几种方法
1.canvas自带的绘制椭圆的方法 ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)是后来 ...
- .net C# Sql数据库SQLHelper类
using System;using System.Collections.Generic;using System.Text;using System.Collections;using Syste ...
- Flex 加载dwg
之前写的几种格式不是专门gis格式,这次来说说加载dwg.首先dwg格式不同于dxf格式,虽然autocad都能加载进去,真正用的比较多的是dwg格式,反正测绘,国土规划部门都是,吐槽下,然而auto ...
- centors7 elasticsearch6.3安装以及问题记录
1.安装elasticsearch . 安装系统:centors7 1.下载安装包 官网地址:https://www.elastic.co/downloads/past-releases 2.mac文 ...
- Javascript 中 true 和 false
"" == false // true "0" == false // true "" == "0" //false 以 ...