区间调度问题
时间:2022-07-24
本文章向大家介绍区间调度问题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题意:有n项工作,每项工作分别在si时间开始,在ti时间结束。对于每项工作,你都可以选择参与与否。如果选择了参与,那么自始至终都必须全程参与。此外,参与工作的时间段不能重合。然后问你的目标是参与尽可能多的工作,那么你最多能参与多少项工作?
思路:这种题目我们很容易想到贪心的方案,但问题的重点是我们该如何执行贪心。我们在可选的工作中,每次选择结束时间最早的工作。
#include<bits/stdc++.h>
using namespace std;
const int maxn = 100000;
pair<int,int> itv[maxn];
void solve(){
for(int i=0;i<n;i++){
itv.first = t[i];
itv.second = s[i];
}
sort(itv,itv+n);
int ans = 0,t = 0;
for(int i=0;i<n;i++){
if(t < itv.second) ans++,t=itv.first;
}
cout<<ans<<endl;
}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 牛客网-二叉树的镜像
- 牛客网-二维数组的查找
- 牛客网-斐波那契数列
- 牛客网-从头到尾打印链表
- 牛客网-重建二叉树
- 牛客网-旋转数组的最小数字
- 别再暴力匹配字符串了,高效的KMP,才是真的香
- 一文透析SpringCloud,关于Bus消息总线,总算梳理清楚了
- LeetCode 102. 二叉树的层序遍历
- 剑指Offer LeetCode 面试题10- II. 青蛙跳台阶问题
- 剑指Offer LeetCode 面试题10- I. 斐波那契数列
- 蓝桥杯 1的个数
- 蓝桥杯-试题 算法训练 数据交换
- 解决mysql导入新数据库大小写问题(Table 'zup.Domain_System' doesn't exist)
- 蓝桥杯vip试题 报时助手