1 条题解
-
0
Guest
-
1
考查内容
结构体排序+贪心
思路分析
一眼贪心,我们应该把节目按结束时间先后排序。 证明:如果两个节目有重叠,看先结束的会有更多时间看剩下的节目。所以贪心成立。
code
#include<bits/stdc++.h> using namespace std; struct tv{ int l,r; }a[200005]; bool cmp(tv a,tv b){//按结束时间排序 return a.r<=b.r; } int now,n,cnt; int main(){ freopen("tv.in","r",stdin); freopen("tv.out","w",stdout); cin>>n; for(int i=0;i<n;i++){ cin>>a[i].l>>a[i].r; } sort(a,a+n,cmp); now=0; for(int i=0;i<n;i++){ if(a[i].l>=now){//如果可以看这个节目 cnt++; now=a[i].r;//更新 } } cout<<cnt; return 0; }
- 1
信息
- ID
- 773
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 3
- 已通过
- 2
- 上传者