description


analysis

  • 其实可以贪心

  • 先把区间按左端点排序,转折点也排序

  • 扫一次转折点,把所有左端点在当前点左边的区间丢进优先队列里

  • 按照贪心策略,对于某个转折点,一定选择右端点离它最近的区间

  • 于是把不合法(右端点在转折点左边)的区间弹出,匹配下去就好了


code

  1. #pragma GCC optimize("O3")
  2. #pragma G++ optimize("O3")
  3. #include<stdio.h>
  4. #include<string.h>
  5. #include<algorithm>
  6. #include<queue>
  7. #define MAXN 200005
  8. #define ll long long
  9. #define reg register ll
  10. #define fo(i,a,b) for (reg i=a;i<=b;++i)
  11. #define fd(i,a,b) for (reg i=a;i>=b;--i)
  12. using namespace std;
  13. priority_queue <ll,vector<ll>,greater<ll> > q;
  14. ll n,m,now=1,ans;
  15. ll b[MAXN];
  16. struct node
  17. {
  18. ll x,y;
  19. }a[MAXN];
  20. inline ll read()
  21. {
  22. ll x=0,f=1;char ch=getchar();
  23. while (ch<'0' || '9'<ch){if (ch=='-')f=-1;ch=getchar();}
  24. while ('0'<=ch && ch<='9')x=x*10+ch-'0',ch=getchar();
  25. return x*f;
  26. }
  27. inline bool cmp(node a,node b){return a.x<b.x;}
  28. int main()
  29. {
  30. freopen("T2.in","r",stdin);
  31. //freopen("dream.in","r",stdin);
  32. //freopen("dream.out","w",stdout);
  33. n=read(),m=read();
  34. fo(i,1,n)a[i].x=read(),a[i].y=read();
  35. fo(i,1,m)b[i]=read();
  36. sort(a+1,a+n+1,cmp),sort(b+1,b+m+1);
  37. fo(i,1,m)
  38. {
  39. while (a[now].x<=b[i] && now<=n)q.push(a[now++].y);
  40. while (!q.empty() && b[i]>q.top())q.pop();
  41. if (!q.empty() && b[i]<=q.top())++ans,q.pop();
  42. }
  43. printf("%lld\n",ans);
  44. return 0;
  45. }

【JZOJ6274】梦境的更多相关文章

  1. 奇怪的梦境(codevs 2833)

    题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小房子中,墙上有很多按钮,还有一个屏幕,上面显示了一些信息.屏幕上说,要将所有按钮都按下才能出去,而又给出了一些信息,说明 ...

  2. Codevs 2833 奇怪的梦境

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold     题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小房子中,墙上有很多按钮,还 ...

  3. 人类即将进入互联网梦境时代(IDA)

    在电影<盗梦空间>中,男主角科布和妻子在梦境中生活了50年,从楼宇.商铺.到河流浅滩.一草一木.这两位造梦师用意念建造了属于自己的梦境空间.你或许并不会想到,在不久未来,这看似科幻的情节将 ...

  4. 2833 奇怪的梦境 未AC

    2833 奇怪的梦境 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold         题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小 ...

  5. codevs2833 奇怪的梦境

    2833 奇怪的梦境  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description Aiden陷入了一个奇怪的梦境:他被困 ...

  6. CODEVS——T 2833 奇怪的梦境

    http://codevs.cn/problem/2833/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Descr ...

  7. bert+seq2seq 周公解梦,看AI如何解析你的梦境?【转】

    介绍 在参与的项目和产品中,涉及到模型和算法的需求,主要以自然语言处理(NLP)和知识图谱(KG)为主.NLP涉及面太广,而聚焦在具体场景下,想要生产落地的还需要花很多功夫. 作为NLP的主要方向,情 ...

  8. codevs2833 奇怪的梦境 x

    2833 奇怪的梦境  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小房子中 ...

  9. [CSP-S模拟测试]:梦境(贪心+小根堆)

    题目描述 智者奥尔曼曾说过:有缘的人即使相隔海角天涯,也会在梦境中相遇. $IcePrince\text{_}1968$和$IcePrincess\text{_}1968$便是如此.有一天$IcePr ...

随机推荐

  1. webpack4 入门配置研究

    1. 全局安装 npm install webpack webpack-cli webpack-dev-server -g 1.1)输密文的密码(电脑开机) 1.2)安装成功 2. 输入命令mkdir ...

  2. android Intent和IntentFilter

    android的应用程序包含三种重要的组件:Activity.Service.BroadcastReceiver,应用程序采用一致的方式来启动他们——都是依靠Intent来进行启动.Intent就封装 ...

  3. what codes does sudo command do in Linux?

    sometime, to make your change of configuration file be effective to web application, we have to rest ...

  4. 二维码APP后台开发记录

    先是搭建环境,我们采用spring4.2.1+hibernate5.0.1进行搭建,从官网上下载框架必用jar包. 在MyEclipse里,创建web项目,创建lib包,将相关jar包放入,别忘了my ...

  5. Java 整型数组只有一个整数是只出现一次的,其余都出现两次

    package writtenExamination; /** * @author lindaZ * @date 2015年10月22日 * @todo 找出数组中仅出现一次的数,其余数字出现两次 * ...

  6. JS对象 数组排序sort() sort()方法使数组中的元素按照一定的顺序排列。 语法: arrayObject.sort(方法函数)

    数组排序sort() sort()方法使数组中的元素按照一定的顺序排列. 语法: arrayObject.sort(方法函数) 参数说明: 1.如果不指定<方法函数>,则按unicode码 ...

  7. Laravel Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found

    Laravel: 5.5.* 在迁移中有重命名操作的时候,运行 php artisan migrate 会提示 Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' ...

  8. IDEA中@Autowired 注解报错~图文

  9. twentytwenty插件,图片对比轮播

    https://zurb.com/playground/twentytwenty 项目应用 http://decortrim.mml.digital/

  10. 【NOI2019模拟2019.6.27】B (生成函数+整数划分dp|多项式exp)

    Description: \(1<=n,k<=1e5,mod~1e9+7\) 题解: 考虑最经典的排列dp,每次插入第\(i\)大的数,那么可以增加的逆序对个数是\(0-i-1\). 不难 ...