区间调度问题-贪心选择
2017-03-03 19:49
176 查看
区间调度问题
问题主题:区间调度问题 |
问题描述: 有n项工作,每项工作分别在si开始,ti结束。对每项工作,你都可以选择参加或不参加,但选择了参加某项工作就必须至始至终参加全程参与,即参与工作的时间段不能有重叠(即使开始的时间和结束的时间重叠都不行)。 限制条件: 1<=n<=100000 1<=si<=ti,=109 |
样例: 输入 n=5 s={1,2,4,6,8} T={3,5,7,9,10} 输出 3(选择工作1, 3, 5) #include <bits/stdc++.h> using namespace std; const int N=100005; int n; pair<int,int> stu ; //定义用pair封装的结构体数组,第一个元素是first,第二个元素是second //first是开始时间,second是结束时间 bool cmp(const pair<int,int>& x,const pair<int,int>& y) { return x.second<y.second; } int solve() { int ans=0,t=0; sort(stu+1,stu+1+n,cmp); //排序,按照最早结束时间排序从小到大 for(int i=1;i<=n;i++) { if(t<stu[i].first) { ans++; t=stu[i].second; } } return ans; } int main() { cin>>n; for(int i=1;i<=n;i++) cin>>stu[i].first>>stu[i].second; cout<<solve()<<endl; return 0; } |
相关文章推荐
- 贪心算法之区间调度问题
- 几个经典的贪心区间问题之区间调度hdu2037
- Num 25 : NYOJ0014 会场安排问题 + HDOJ2037:今年暑假不AC [ 贪心 ][ 选择不相交区间 ]
- 区间调度问题(贪心)
- 选择不相交区间(活动安排问题)(贪心)(HDU2037)
- hdu 2037(贪心算法之区间调度问题)
- 贪心算法之区间调度问题
- 贪心-区间调度问题
- 简单贪心 区间调度问题
- 贪心基础题(区间调度问题+POJ_3617+POJ_3069)
- 区间调度问题(贪心)
- 【动态规划-贪心】区间调度问题
- 贪心入门题——看电视(区间调度问题)
- 选择不相交区间问题 (贪心)
- 图的点着色、区间着色问题及其应用(基于贪心思想的DFS回溯法求点着色问题和区间着色算法求解任务调度问题)
- 贪心算法设计 关于区间选择问题
- 贪心(1)选择不相交区间的问题
- 贪心专练1 区间调度最多问题
- UVA 10020 - Minimal coverage (贪心) 区间覆盖问题
- NYOJ 14 会场安排问题 贪心算法 之 选择不相交区间