The Moo Particle

link

题很水,但很思维。

题意:

给出 n n n个点( x i x_i xi​, y i y_i yi​),有一个操作可让点 i , j i,j i,j中删除一点且点 i , j i,j i,j满足 x i ≥ x j x_i \ge x_j xi​≥xj​, y i ≥ y j y_i \ge y_j yi​≥yj​,让我们求出最少可以剩下多少点。

思路:

本质

我们不难看出:满足操作条件的点合并成几个连通块,那么,在同一连通块中至少保留一点
于是,这个问题就可以转化为求有多少个连通块(本人用的是并查集,如有其他可以借鉴)

横向点合并

观察,假如有几个点的x相等,那么这几个点一定可以形成一个连通块
我们可以将x相等的点进行合并,看作一段不连续的区间,求出区间左端点和右端点

纵向区间合并

纵向观察这些区间,就能找到:若一区间的 x x x值小于另一区间的 x x x值且此区间的左端点在另一区间的右端点的左边,这两个区间形成一个连通块
我们可以用小根堆维护左端点,若堆顶左端点小于某区间的右端点,就与堆顶所对应的区间合并

最后统计连通块的数量(即为输出答案)

时间复杂度: O ( n l o g n ) O(nlogn) O(nlogn)

空间复杂度: O ( n ) O(n) O(n)

The Moo Particle相关推荐

  1. 2018/8/30-31 A social learning particle swarm optimization for scalable optimization.

    信息:  2015年    Informatica science 题目: A social learning particle swarm optimization for  scalable op ...

  2. Cesium中级教程9 - Advanced Particle System Effects 高级粒子系统效应

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 要了解粒子系统的基础知识,请参见粒子系统入门教程. Weathe ...

  3. POJ 2231 Moo Volume(递推、前缀和)

    题外话: POJ 2231 Moo Volume 题意: 解题过程: AC代码: 题外话: emm--第三套题好像综合了其他OJ的题目蛤,那么我就把题目分开了发了蛤蛤-- POJ 2231 Moo V ...

  4. 【控制】粒子群优化(PSO,Particle Swarm Optimization)算法及 Matlab 仿真实现

    文章目录 定义 对比模拟捕食 通俗解释 粒子抽象 关于速度和位置 速度和位置的更新 标准PSO算法流程 标准PSO算法的流程 PSO流程图解 学习因子 c1.c2c_1.c_2c1​.c2​ 分析 仿 ...

  5. spring cloud云服务架构 - particle云架构代码结构讲解

    上一篇我们介绍了spring cloud云服务架构 - particle云架构代码结构,简单的按照几个大的部分去构建代码模块,让我们来回顾一下: 第一部分: 针对于普通服务的基础框架封装(entity ...

  6. OpenGL Compute Shader Particle System计算着色器粒子系统的实例

    OpenGL Compute Shader Particle System计算着色器粒子系统 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include &l ...

  7. Moo.fx 超级轻量级的 javascript 特效库

    Moo.fx是 一个超级轻量级的 javascript 特效库(7k),能够与 prototype.js 或mootools 框架一起使用.它非常快.易于使用.跨浏览器.符合标准,提供控制和修改任何 ...

  8. 高斯粒子滤波matlab,粒子滤波(Particle filter)matlab实现 | 学步园

    粒子滤波是以贝叶斯推理和重要性采样为基本框架的.因此,想要掌握粒子滤波,对于上述两个基本内容必须有一个初步的了解.贝叶斯公式非常perfect,但是在实际问题中,由于变量维数很高,被积函数很难积分,常 ...

  9. bzoj1679[Usaco2005 Jan]Moo Volume 牛的呼声*

    bzoj1679[Usaco2005 Jan]Moo Volume 牛的呼声 题意: N只牛,每只牛都与其他N-1只牛聊着天.一个对话的进行,需要两只牛都按照和她们间距离等大的音量吼叫,计算音量和.N ...

最新文章

  1. redis 数据结构 内存管理 持久化
  2. 大学生能从计算机游戏中受益,2017年6月英语四级作文练习:大学生玩游戏
  3. 2018 ACM-ICPC World Finals Problem D.Gem Island
  4. Java使用Openimaj构建视觉词袋模型
  5. android SDK 开发心得笔记
  6. mac如何判断本机有没有gpu_属牛人:属牛如何判断一段感情有没有未来
  7. eweishop 人人商城区别_微擎开发之人人商城添加第三方支付系列
  8. 【前端第七课】媒体查询的语法;移动端适配相关知识点;Grid高级布局
  9. vim中文乱码问题解决方式
  10. Ubuntu 耳机和音响没有声音
  11. Matlab 界面设计简单入门(App Designer)
  12. 常用dns114.114.114.114与8.8.8.8的区别
  13. 编程练习:既是完全平方数又有两位数字相同的三位数
  14. 金蝶软件连接显示服务器超时,金蝶连接云服务器超时
  15. android 音量调节框,「Best Volume Widget」手机桌面独立音量调节小工具 (Android)...
  16. MaxCompute2.0助力众安保险高速成长
  17. 生活篇之工资和年终奖的纳税
  18. 雨阳Ghost Xp Sp3笔记本通用版2011.11B
  19. VR工厂:助力工厂数字化升级
  20. python购物系统

热门文章

  1. phoenix-5.1.2 Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM
  2. VS2015中“项目无法加载,因为它缺少安装组件”的解决方法
  3. 建模大佬都不会外传的角色手办制作流程
  4. 交通强国,标准先行【附PPT】
  5. 销售宝:让客户无法拒绝的销售话术
  6. 无法访问计算机0x80070035,出现错误代码0x80070035,无法访问共享文件夹,解决方法...
  7. C语言利用图的邻接矩阵的存储方式实现拓扑排序
  8. linux驱动开发简单示例
  9. shift+右键,没有“在此处打开命令窗口”选项
  10. 如何在Python中调用C++程序?(文中以Opencv为例,在Python中调用C++的Opencv)