首页 > 其他分享 >一本通1424: 区间覆盖

一本通1424: 区间覆盖

时间:2023-02-27 18:33:48浏览次数:32  
标签:1424 覆盖 int 一本 cas 区间 include

给一些区间,挑出最少的区间覆盖 【0,L】

 

  贪心:从0往后,每次挑出R 点最大的

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std ;
 const int N=1e5;
 int n;
 
 struct T{
 	double x,y;
 };
 T a[N];
 int cmp(T x,T y){ return x.x<y.x; }
 
 void solve(double end){
 	double cur=0;
 	int i=1, ans=0;
 	
 	while(cur<end){
 		ans++;
 		double t=cur;
 		for(;a[i].x<=t&&i<=n;i++)
 			cur=max(cur,a[i].y);
 		
 		if(cur==t&&t<end){
 			cout<<-1<<endl; return ;
 		}
 	}
 	cout<<ans<<endl;
 }
 int main(){
 	int i,tmp; double x,L,h,r;
 	int cas; cin>>cas;
 	
 	while(cas--){
	 	cin>>tmp>>L>>h;
	 	n=0;
	 	for(i=1;i<=tmp;i++){
	 		cin>>x>>r;
	 		if(r<h/2) continue;
	 		n++;
	 		a[n].x=x-sqrt(r*r-h*h/4);
	 		a[n].y=x+sqrt(r*r-h*h/4);
		 }
	 	sort(a+1,a+1+n,cmp);
	 	solve(L);
 	}
 }

 

标签:1424,覆盖,int,一本,cas,区间,include
From: https://www.cnblogs.com/towboa/p/17161429.html

相关文章

  • 模板-选择最少的区间数目可以覆盖连续区间[0,n]
    方法:首先建立一个一维数组nums,nums[i]表是在当前位置上还能向右跑几步;然后更新最右距离://nums最优距离数组//t要跳的位置publicintjump(int[]nums......
  • [vue]打开el-dialog时上面覆盖了一层遮罩层
    今天写页面的时候发现打开一个el-dialog时,上面覆盖了一层遮罩层,如下:发现原因是el-dialog的父元素设置的position是absolute解决办法:加上一行:append-to-body="true"......
  • PG数据库运维工具要覆盖哪些能力
    目前的国产数据库中,很多产品都是以PG社区版代码作为研发起点的,还有一些产品是基于openGauss开源项目的。这些数据库的基础特性都和社区版的PG数据库类似,不过也做了一定......
  • #10051. 「一本通 2.3 例 3」Nikitosh 和异或
    求两段不相交子序列,他们异或和的和最大  #include<iostream>#include<algorithm>#include<cstring>usingnamespacestd;constintN=4e5+4;intch[N*32......
  • LeetCode76. 最小覆盖子串(/滑动窗口)
    原题解题目约束题解classSolution{public:unordered_map<char,int>ori,cnt;boolcheck(){for(constauto&p:ori){......
  • 类成员函数的重载、覆盖和隐藏区别
    类成员函数的重载、覆盖和隐藏区别?答案:a.成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。b.覆盖是指派生类函数覆盖基类函......
  • Paint the Middle (提取信息转化为熟悉问题->线段覆盖问题)
     通过题目信息来进行转化成熟悉的问题首先提取出性质a......a里面的数都可以改,然后选择最远的2个aa是最优的于是就有很多区间,可能交互,就贪心让更少的区......
  • [代码审计基础 14]某cms变量覆盖到N处漏洞
    PHP:5.4.5设置调试:https://blog.csdn.net/m0_46641521/article/details/120107786PHPCMS变量覆盖到SQL注入0x01:路由分析phpcms是一个一分为二的cms,有一套类似应用的东西......
  • 覆盖(new),重写(Override)和重载(Overload)
    覆盖:new关键词修饰方法,保留父类方法重写:override关键词修饰方法,不保留父类方法覆载:同一个类中,方法名相同,参数不同覆盖(new)覆盖(new)指重新定义子类中与父类具有相同函数特......
  • 重载、重写(覆盖)和隐藏
    重载是指在同一范围定义中的同名成员函数才存在重载关系。主要特点是函数名相同,参数类型和数目有所不同不能出现参数个数和类型均相同,仅仅依靠返回值不同来区分的函数......