#296 -- D(转换思路)

来源:互联网 发布:window python开发工具 编辑:程序博客网 时间:2024/05/17 01:21

本题求特殊条件下最大完全图的节点个数。

转化成贪心问题。求不相交子区间的最大值。

#include <cstdio>#include <algorithm>#include <iostream>#include <cstring>#include <queue>#include <cmath>#include <set>using namespace std;typedef long long LL;const int maxn = 201000;int cmax(int& a,int b){if(a<b) a=b;}struct node{  LL x,y;  bool operator <(const node& b)const{    return y<b.y;  }}a[maxn];int main(){    int n;    scanf("%d",&n);      for(int i=0;i<n;i++){         LL m,w;         cin>>m>>w;         node te;         te.x=max((LL)0,m-w);         te.y=m+w;         a[i]=te;      }      sort(a,a+n);      int b = -1,cnt=0;      for(int i=0;i<n;i++){         if(a[i].x>=b){             b = a[i].y;             cnt++;         }      }      printf("%d\n",cnt);    return 0;}


0 0