2 条题解
-
1
#include<iostream> #include<algorithm> using namespace std; struct grass{ int x,y; }g[150001]; int n,f[150001]; bool cmp(grass a,grass b){ return a.y<b.y; } int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>g[i].x>>g[i].y; sort(g+1,g+n+1,cmp); for(int i=1;i<=n;i++){ f[i]=g[i].y-g[i].x+1; for(int j=1;j<i;j++){ if(g[j].y<g[i].x) f[i]=max(f[i],f[j]+(g[i].y-g[i].x+1)); else f[i]=max(f[i],f[j]); } } cout<<f[n]; }
信息
- ID
- 1410
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 递交数
- 122
- 已通过
- 23
- 上传者