链接:https://ac.nowcoder.com/acm/contest/3005/I
来源:牛客网

示例1

输入

复制
2
1 1 0
2 2 1

  1. 2
  2. 1 1 0
  3. 2 2 1

输出

复制 1

  1. 1
示例2

输入

复制 2
1 1 1
2 2 1

  1. 2
  2. 1 1 1
  3. 2 2 1

输出

复制 0

  1. 0

备注:

思路:

  

  1. #include <bits/stdc++.h>
  2. #define dbg(x) cout << #x << "=" << x << endl
  3.  
  4. using namespace std;
  5. typedef long long LL;
  6.  
  7. template<class T>inline void read(T &res)
  8. {
  9. char c;T flag=;
  10. while((c=getchar())<''||c>'')if(c=='-')flag=-;res=c-'';
  11. while((c=getchar())>=''&&c<='')res=res*+c-'';res*=flag;
  12. }
  13.  
  14. namespace _buff {
  15. const size_t BUFF = << ;
  16. char ibuf[BUFF], *ib = ibuf, *ie = ibuf;
  17. char getc() {
  18. if (ib == ie) {
  19. ib = ibuf;
  20. ie = ibuf + fread(ibuf, , BUFF, stdin);
  21. }
  22. return ib == ie ? - : *ib++;
  23. }
  24. }
  25.  
  26. int qread() {
  27. using namespace _buff;
  28. int ret = ;
  29. bool pos = true;
  30. char c = getc();
  31. for (; (c < '' || c > '') && c != '-'; c = getc()) {
  32. assert(~c);
  33. }
  34. if (c == '-') {
  35. pos = false;
  36. c = getc();
  37. }
  38. for (; c >= '' && c <= ''; c = getc()) {
  39. ret = (ret << ) + (ret << ) + (c ^ );
  40. }
  41. return pos ? ret : -ret;
  42. }
  43.  
  44. const int maxn = 1e5 + ;
  45.  
  46. set <int> s;
  47. map<int, int> mapp;
  48.  
  49. int n;
  50.  
  51. struct node {
  52. int x,y,z;
  53. }a[maxn];
  54.  
  55. bool cmp(node a, node b) {
  56. if(a.x == b.x) {
  57. return a.z > b.z;
  58. }
  59. return a.x < b.x;
  60. }
  61.  
  62. int main()
  63. {
  64. read(n);
  65. for(int i = ; i <= n; ++i) {
  66. scanf("%d %d %d",&a[i].x, &a[i].y, &a[i].z);
  67. }
  68. sort(a+, a+n+, cmp);
  69. set<int>::iterator it;
  70.  
  71. LL ans = ;
  72. for(int i = ; i <= n; ++i) {
  73. if(a[i].z == ) {
  74. if(!mapp[a[i].y]) {
  75. s.insert(a[i].y);
  76. }
  77. mapp[a[i].y]++;
  78. }
  79. if(a[i].z == ) {
  80. it = s.lower_bound(a[i].y);
  81. if(it != s.begin()) {
  82. mapp[*it]--;
  83. if(!mapp[*it]) {
  84. s.erase(*it);
  85. }
  86. dbg(*it);
  87. ans++;
  88. }
  89. }
  90. }
  91. cout << ans << endl;
  92. return ;
  93. }
  94. /*
  95. 5
  96. 1 1 0
  97. 2 2 0
  98. 3 3 0
  99. 4 4 0
  100. 5 5 1
  101. */

2020牛客寒假算法基础集训营4-I 匹配星星【贪心】的更多相关文章

  1. 2020牛客寒假算法基础集训营4 I 匹配星星

    https://ac.nowcoder.com/acm/contest/3005/I 又做麻烦了,悲催... 将所有星星按x坐标为第一关键字,z为第二关键字排好序 那么一个z=1的星星匹配的是x比它小 ...

  2. 2020牛客寒假算法基础集训营2 J题可以回顾回顾

    2020牛客寒假算法基础集训营2 A.做游戏 这是个签到题. #include <cstdio> #include <cstdlib> #include <cstring ...

  3. 2020牛客寒假算法基础集训营1 J题可以回顾回顾

    2020牛客寒假算法基础集训营1 这套题整体来说还是很简单的. A.honoka和格点三角形 这个题目不是很难,不过要考虑周全,面积是1,那么底边的长度可以是1也可以是2, 注意底边1和2会有重复的, ...

  4. 2020牛客寒假算法基础集训营4-F树上博弈

    链接:https://ac.nowcoder.com/acm/contest/3005/F来源:牛客网 题目描述 现有一个 n 个点,n-1条边组成的树,其中 1 号点为根节点. 牛牛和牛妹在树上玩游 ...

  5. 2020牛客寒假算法基础集训营1 F-maki和tree

    链接:https://ac.nowcoder.com/acm/contest/3002/F来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  6. 2020牛客寒假算法基础集训营5 G街机争霸

    题目描述 哎,又是银首,要是你这个签到题少WA一发就金了 牛牛战队的队员打完比赛以后又到了日常甩锅的时间.他们心情悲伤,吃完晚饭以后,大家相约到一个街机厅去solo.牛牛和牛能进入了一个迷宫,这个迷宫 ...

  7. 2020牛客寒假算法基础集训营4 D:子段异或

    D : 子段异或 考察点 : 位运算,前缀和,异或的性质和应用 坑点 : 0 - L 的异或值是 0 的话也是一个区间 相同的值可能有多个,那么这时候区间就会有多个(x * (x + 1) / 2) ...

  8. 2020牛客寒假算法基础集训营6 I.导航系统 (最小生成树)

    https://ac.nowcoder.com/acm/contest/3007/I 题中给定的图必定是一棵树 容易发现,如果将输入的N(N-1)个距离看做N(N-1)条无向边的话,那么如果数据合法, ...

  9. 2020牛客寒假算法基础集训营5 G.街机争霸 (bfs)

    https://ac.nowcoder.com/acm/problem/201961 预处理出僵尸走的路径,僵尸走的周期长度应该为2k-2,在普通的bfs基础上加上一维表示时间,从当前位置x,y和和时 ...

随机推荐

  1. 数据算法 --hadoop/spark数据处理技巧 --(7.共同好友 8. 使用MR实现推荐引擎)

    七,共同好友. 在所有用户对中找出“共同好友”. eg: a    b,c,d,g b    a,c,d,e map()->  <a,b>,<b,c,d,g> ;< ...

  2. Visual C# 2015调用SnmpSharpNet库实现简单的SNMP元素查询

    一开始调研发现有几个SNMP的库, 一个是net-SNMP,这个好像是linux用的多 一个是微软自己的WinSNMP,这个没有例子,不太好操作 一个是SnmpSharpNet,这个有些例子比较好, ...

  3. win10双击执行python

    一. 设置py环境 去官网下载Windows x86-64 executable installer安装 安装后会自动配置py的bin路径和pip的路径 Pip用于安装python库的 二. 设置wi ...

  4. Ubuntu 18.04 MATLAB 安装及配置

    转载请注明出处,谢谢 原创作者:Mingrui 原创链接:https://www.cnblogs.com/MingruiYu/p/12367846.html 本文要点: Ubuntu 18.04 安装 ...

  5. vue路由+vue-cli实现tab切换

    第一步:搭建环境 安装vue-cli cnpm install -g vue-cli安装vue-router cnpm install -g vue-router使用vue-cli初始化项目 vue ...

  6. console控制台的用法

    参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/Console 1,console.log('a'); 2,console.dir(xx); ...

  7. EF CORE中复杂类型的映射

    实体映射时,遇到复杂类型,可选择下述方法处理: NotMapped,跳过映射 在复杂类型上声明 [Owned],但仅限该复杂类型是全部由简单值类型组成的 自定义序列化方法   示例: IPInfo使用 ...

  8. 目前最全的Python的就业方向

    Python是一门面向对象的编程语言,编译速度超快,从诞生到现在已经25个年头了.它具有丰富和强大的库,常被称为“胶水语言”,能够把用其他语言编写的各种模块(尤其是C/C++)很轻松地联结在一起.其特 ...

  9. 使用JDBC获取数据库中的一条记录并封装为Bean

    比如我数据库中存入的是一条一条的用户信息,现在想取出一个人的个人信息,并封装为Bean对象,可以使用queryForObject来获取数据并通过new BeanPropertyRowMapper(Be ...

  10. 吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:Spring_autowire

    <?xml version="1.0" encoding="GBK"?> <beans xmlns:xsi="http://www. ...