t
a
g
:
tag :
tag:区间问题
合并/分组/覆盖
并查集
...
传送门 :
思路借鉴 : cup-pyy(Acwing的一个大佬捏)
题意: 给定多个颜色区间 ( c , l , r ) (c,l,r) (c,l,r),满足条件的区间可以进行合并,询问合并之后有多少组
条件如下 : 当两个区间的 颜色 不同的时候,并且两个区间相交的时候那么就可以进行合并 ( c < = 1 cn; //初始化集合 for(int i=1;ia[i].col>>a[i].l>>a[i].r; op.pb({a[i].l,-i});//左边是入点 op.pb({a[i].r,i});//右边是出点 } sort(all(op)); set s[2]; for(auto [pos,id] : op){ if(id 1){ merge(id,s[t].begin()->y); s[t].erase(s[t].begin()); //删除每次都保留最大的 } if(!s[t].empty()) merge(id,s[t].begin()->y); }else{//出点 删除 s[a[id].col].erase({a[id].r,id}); } } //最终查询有多少个集合 int res = 0 ; for(int i=1;i
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?