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

天上有n颗星星,每颗星星有二维坐标(xi,yi)(x_i, y_i)(xi​,yi​),还有一个属性值ziz_izi​,若两颗星星A, B满足xA<xBx_A < x_BxA​<xB​且yA<yBy_A < y_ByA​<yB​且zA<zBz_A < z_BzA​<zB​,则这两颗星星可以配成一对,每颗星星最多只能在一对之中,求最多能配成多少对星星。

思路:贪心思想;

我们先按x从小到大排序,如果x相等,就按y从大到小;

然后接下来遍历数组;

遇到z值为0的就放进容器;遇到1的就去寻找容器中小于此数的y值且在容器中y最大的那个数进行匹配;然后将这个数删除

不断重复这个过程即可

证明:作者:nocriz
链接:https://ac.nowcoder.com/discuss/365889
来源:牛客网

假设最优方案中排序后Z=1Z = 1Z=1的第 1 个没有按贪心策略匹配的点 iii ,在设 iii 在Z=0Z = 0Z=0中它能匹配的 yyy 最大的点为 jjj,如果 jjj 被点 kkk 匹配了,有两种情况:

    • 原先 iii 没有和任何匹配,则直接去掉 kkk 的匹配,将 iii 和 jjj 匹配。
    • 原先 iii 和 mmm 匹配,则将 kkk 改成和 mmm 匹配,将 iii 和 jjj 匹配,由于Yj>YmY_j>Y_mYj​>Ym​, 这样的匹配一定是成立的。并且修改后的匹配数不会变少,因此按照该贪心策略可以得到最优解。
  •  #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int maxn=3e5+;
    struct node{
    int a,b,c;
    }p[maxn];
    int n;
    bool cmp(node x,node y)
    {
    if(x.a==y.a) return x.b>y.b;
    else return x.a<y.a;
    }
    int main()
    {
    cin>>n;
    for( int i=;i<n;i++ ) cin>>p[i].a>>p[i].b>>p[i].c;
    sort(p,p+n,cmp);
    multiset<int> pool;
    int ans=;
    for( int i=;i<n;i++ ){
    if( p[i].c ){
    multiset<int>::iterator it;
    it=pool.lower_bound( p[i].b );
    if( it!=pool.begin() ){
    --it;
    pool.erase(it);
    ans++;
    }
    }
    else pool.insert( p[i].b );
    }
    cout<<ans<<endl;
    return ;
    }

2020算法设计竞赛 I、匹配星星的更多相关文章

  1. 2020算法设计竞赛 C 汉诺塔

    作者:珩月链接:https://ac.nowcoder.com/discuss/367149来源:牛客网 将木板按照Xi从小到大排序,将这时的Yi数列记为Zi数列,则问题变成将Zi划分为尽可能少的若干 ...

  2. 2020算法设计竞赛 H 坐火车

    链接:https://ac.nowcoder.com/acm/contest/3005/H来源:牛客网 大致题意:让我们针对每一个数,求这个数左区间和右区间颜色相同(也就是数字相同)得对数: 比如:左 ...

  3. 2020年算法设计竞赛 DP

    链接:https://ac.nowcoder.com/acm/contest/3002/I来源:牛客网https://ac.nowcoder.com/acm/contest/3002/I 题目描述 & ...

  4. 2020 年TI 杯大学生电子设计竞赛E题总结(放大器非线性失真研究装置)

    2020年TI杯大学生电子设计竞赛E题总结(放大器非线性失真研究装置) 摘要:E题的竞赛内容主要是参赛者自己搭建一个晶体管放大器,能够产生不失真.顶部失真.底部失真.双向失真和交越失真五种波形,并分别 ...

  5. 算法设计手冊(第2版)读书笔记, Springer - The Algorithm Design Manual, 2ed Steven S.Skiena 2008

    The Algorithm Design Manual, 2ed 跳转至: 导航. 搜索 Springer - The Algorithm Design Manual, 2ed Steven S.Sk ...

  6. 痞子衡嵌入式:RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计

    大家好,我是痞子衡,是正经搞技术的痞子.今天给大家带来的是痞子衡的开源项目 RT-UFL. 痞子衡在近两年多的i.MXRT客户项目支持过程中,遇到的一个相当高频的问题就是制作i.MXRT下载算法.我们 ...

  7. OOP: One pont of view of OOP与基于算法设计的区别

    ..摘自<C++网络编程 卷1:运用ACE和模式消除复杂性> <C++ Network Programming Volume 1 Mastering Complexity with ...

  8. Python数据结构与算法设计总结篇

    1.Python数据结构篇 数据结构篇主要是阅读[Problem Solving with Python]( http://interactivepython.org/courselib/static ...

  9. 算法设计和数据结构学习_5(BST&AVL&红黑树简单介绍)

    前言: 节主要是给出BST,AVL和红黑树的C++代码,方便自己以后的查阅,其代码依旧是data structures and algorithm analysis in c++ (second ed ...

随机推荐

  1. 线段树区间染色 ZOJ 1610

    Count the Colors ZOJ - 1610 传送门 线段树区间染色求染色的片段数 #include <cstdio> #include <iostream> #in ...

  2. Chapter3数学与简单DP

    Chapter 3 数学与简单DP 上取整: a / b //下取整 (a + b - 1) / b //上取整 +++ 数学 1.买不到的数目 1205 //如果不知道公式,可以暴搜打表找规律(★) ...

  3. P2853 [USACO06DEC]牛的野餐Cow Picnic

    ------------------------- 长时间不写代码了,从学校中抽身出来真的不容易啊 ------------------------ 链接:Miku ----------------- ...

  4. layui弹出表单提交后,界面model验证部分起作用

    情况1----input属性中type=submit时验证都可以起作用,但是弹出层表单的返回值不能获取,所以用ajax二次提交后会出现重复添加数据的问题 情况2----input属性中type=but ...

  5. 将CGCS2000的坐标值转换为WGS84的坐标值

    打开图层数据,或者将已有的Excel数据导入到ArcMap中,然后打开Toolbox, ArcToolbox -->  Projections and Transformations --> ...

  6. 树莓派pip安装opencv报错,Could not find a version that satisfies the requirement cv2 (from versions: )No matching distribution found for cv2

    前言 我在使用pip install opencv-python 时报错 Could not find a version that satisfies the requirement opencv ...

  7. UVA10791-Minimum Sum LCM(唯一分解定理基本应用)

    原题:https://vjudge.net/problem/UVA-10791 基本思路:1.借助唯一分解定理分解数据.2.求和输出 知识点:1.筛法得素数 2.唯一分解定理模板代码 3.数论分析-唯 ...

  8. 问题 B: 基础排序III:归并排序

    #include <cstdio> #include <vector> #include <algorithm> using namespace std; void ...

  9. 大json直接序列化成dataset

    rtnDs= JsonConvert.DeserializeObject<DataSet>(strBuff);

  10. C# WPF过渡效果实现(C# WPF Material Design UI: Transitions)

    时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...