随手练——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的离散程度最小(我自己脑补的,就是总体更接近,我不知 ...
随机推荐
- AJAX 教程
AJAX AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJA ...
- 撩课-Web大前端每天5道面试题-Day4
1. 如何实现瀑布流? 瀑布流布局的原理: ) 瀑布流布局要求要进行布置的元素等宽, 然后计算元素的宽度, 与浏览器宽度之比,得到需要布置的列数; ) 创建一个数组,长度为列数, 里面的值为已布置元素 ...
- java二叉搜索树原理与实现
计算机里面的数据结构 树 在计算机存储领域应用作用非常大,我之前也多次强调多磁盘的存取速度是目前计算机飞速发展的一大障碍,计算机革命性的的下一次飞跃就是看硬盘有没有质的飞跃,为什么这么说?因为磁盘是永 ...
- golang产生guid
labix.org/v2/mgo/bson 包虽然是MongoDB的golang实现,其中产生唯一ID的算法是独立的,不依赖MongoDB, 提炼这部分的代码如下: package main im ...
- CSS,js,html
图片盗链问题使用以下meta标签解决 <meta name="referrer" content="never"> Chrome 中文界面下默认会将 ...
- kindeditor之video插件开发
KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果.不仅结构小巧,而且功能强大,最主要的是它采用插件的开发管理方式,能很容易再它的基础上添加插件来实现自 ...
- js函数的节流与防抖
一.防抖&节流 在前端开发中有一部分用户行为会频繁的触发事件执行,而对于DOM的操作.资源加载等耗费性能的处理,很可能会导致界面卡顿,甚至浏览器奔溃.函数的节流与防抖就是为了解决类似需求而产生 ...
- HTML 的特殊字符转换转义符,的两种方法。
HTML 的特殊字符转换转义符,的两种方法. 方法一: function htmlEscape(str) { return String(str) .replace(/&/g, '&' ...
- PID控制算法
PID控制算法 四轴如何起飞的原理 四轴飞行器的螺旋桨与空气发生相对运动,产生了向上的升力,当升力大于四轴的重力时四轴就可以起飞了. 四轴飞行器飞行过程中如何保持水平: 我们先假设一种理想状况:四个电 ...
- c# 调用 c dll 例子
// case 1 传递 int* ///////////////////////////////////////////// extern “C” __declspec(dllexport) int ...