用贪心,为什么重叠部分是结尾??

P1250 种树

用开头排序也可以啊,只是要倒着遍历 ``` #include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> using namespace std; struct node{ int l,r,v; }line[30030];int vis[30030]={0}; inline bool pd(node a,node b){return a.l<b.l;} int main() { int n,m,ans=0; scanf("%d%d",&n,&m); for(int i=1;i<=m;i++) scanf("%d%d%d",&line[i].l,&line[i].r,&line[i].v); sort(line+1,line+1+m,pd); for(int i=m;i>=1;i--){ int k=0; for(int j=line[i].l;j<=line[i].r;j++) if(vis[j]==1) k++; int p=line[i].l-1; while(k<line[i].v) { if(!vis[++p]){ ans++; k++; vis[p]=1; } } } printf("%d",ans); return 0; }
by Freddie @ 2018-12-18 16:40:42


@[Star_Constant](/space/show?uid=46303) 大佬%%%
by AFO蒟蒻选手 @ 2019-01-31 17:14:58


@[wyf666](/space/show?uid=113917) 没有没有
by Freddie @ 2019-03-09 07:42:25


|