当前位置: 首页 > news >正文

Acwing2024蓝桥杯区间合并

模板:

#define x first
#define y second
typedef pair<int, int>pii;
pii seg[N];sort(seg,seg+n);
int l=seg[0].x,r=seg[0].y;
for (int i=1;i<n;i++){if (seg[i].x<=r) r=max(r,seg[i].y);else l=seg[i].x,r=seg[i].y;
}

题目:

AcWing 1343. 挤牛奶

#include<iostream>
#include<algorithm>
#define x first
#define y second
using namespace std;
const int N=5005;
typedef pair<int,int>pii;
pii seg[N];
int n,ans1,ans2;
int main(){cin>>n;for(int i=0;i<n;i++) cin>>seg[i].x>>seg[i].y;sort(seg,seg+n);int l=seg[0].x,r=seg[0].y;for(int i=0;i<n;i++){if(seg[i].x<=r){r=max(r,seg[i].y);ans1=max(ans1,r-l);}else{ans2=max(ans2,seg[i].x-r);l=seg[i].x,r=seg[i].y;ans1=max(ans1,r-l);}}cout<<ans1<<" "<<ans2<<endl;return 0;
}

AcWing 803. 区间合并

#include<iostream>
#include<algorithm>
#define x first
#define y second
using namespace std;
const int N=1e5+5;
typedef pair<int,int>pii;
pii seg[N];
long long ans=1;
int main(){int n;cin>>n;for(int i=0;i<n;i++) cin>>seg[i].x>>seg[i].y;sort(seg,seg+n);int l=seg[0].x,r=seg[0].y;for(int i=0;i<n;i++){if(seg[i].x<=r) r=max(r,seg[i].y);else l=seg[i].x,r=seg[i].y,ans++;}cout<<ans<<endl;return 0;
}

AcWing 422. 校门外的树

#include<iostream>
#include<algorithm>
#define x first
#define y second
using namespace std;
const int N=105;
typedef pair<int,int>pii;
pii seg[N];
int ans;
int main(){int len,n;cin>>len>>n;for(int i=0;i<n;i++) cin>>seg[i].x>>seg[i].y;sort(seg,seg+n);int l=seg[0].x,r=seg[0].y;for(int i=0;i<n;i++){if(seg[i].x<=r) r=max(r,seg[i].y);else ans+=r-l+1,l=seg[i].x,r=seg[i].y;}ans+=r-l+1;cout<<len+1-ans<<endl;return 0;
}

AcWing 5407. 管道(第十四届省赛)

#include<iostream>
#include<algorithm>
#define x first
#define y second
using namespace std;
const int N=1e5+5;
int n,len,id[N],timee[N];
typedef pair<int,int>pii;
pii seg[N];
bool check(long long value){int j=0,flag=1;//划分区间for(int i=1;i<=n;i++){if(timee[i]<=value){//flag进行标记flag=0;int temp=value-timee[i];seg[j].x=max(1,id[i]-temp),seg[j].y=min(len,id[i]+temp),j++;}}//如果flag==1则该时间绝对不可能if(flag) return false;//排序sort(seg,seg+j);//合并区间int l=seg[0].x,r=seg[0].y,cnt=0;for(int i=0;i<j;i++){if(seg[i].x<=r+1) r=max(r,seg[i].y);else{//cnt计数cnt+=r-l+1;l=seg[i].x;r=seg[i].y;}//最后一次合并区间后,cnt计数if(i==j-1) cnt+=r-l+1;}//check判断boolif(cnt==len) return true;else return false;
}
int main(){//输入cin>>n>>len;for(int i=1;i<=n;i++) cin>>id[i]>>timee[i];//二分查找int left=1,right=2e9;//注意right的值为2e9while(left<right){//注意mid开浪浪,否则最大测试数据会爆long long mid=(long long)left+right>>1;if(check(mid)) right=mid;else left=mid+1;}//输出cout<<left<<endl;return 0;
}

相关文章:

  • 34-3 SSRF漏洞 - ssrf业务场景及挖掘
  • Ubuntu下TexStudio如何兼容中文
  • 简析数据安全保护策略中的十个核心要素
  • 【精品整理】最新数据安全评估标准合集
  • 基于单片机钢琴电子节拍器系统设计
  • PTA字符串约束
  • nginx + keepalived 搭建教程
  • LeetCode 60. 第k个排列
  • 云原生技术精选:探索腾讯云容器与函数计算的最佳实践
  • 使用Python实现逻辑回归模型
  • AI结合机器人的入门级仿真环境有哪些?
  • Linux USB host driver 枚举前的源码分析
  • 算法基础之组合数 I
  • 【Apache Doris】周FAQ集锦:第 2 期
  • Android JNI基础
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • Android Volley源码解析
  • iOS 颜色设置看我就够了
  • nfs客户端进程变D,延伸linux的lock
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • XForms - 更强大的Form
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 复习Javascript专题(四):js中的深浅拷贝
  • 官方解决所有 npm 全局安装权限问题
  • 好的网址,关于.net 4.0 ,vs 2010
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 前端相关框架总和
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 怎么将电脑中的声音录制成WAV格式
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​如何防止网络攻击?
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (力扣题库)跳跃游戏II(c++)
  • .a文件和.so文件
  • .NET Core Web APi类库如何内嵌运行?
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .Net mvc总结
  • .NET正则基础之——正则委托
  • @Controller和@RestController的区别?
  • @Pointcut 使用
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • [04] Android逐帧动画(一)
  • [ai笔记4] 将AI工具场景化,应用于生活和工作
  • [Android]竖直滑动选择器WheelView的实现
  • [codevs1288] 埃及分数
  • [Enterprise Library]调用Enterprise Library时出现的错误事件之关闭办法
  • [hdu1561] The more, The Better 【树形DP】
  • [INSTALL_FAILED_TEST_ONLY],Android开发出现应用未安装
  • [iOS]让Xcode 4.2生成的app支持老的iOS设备(armv6)
  • [Java][Android][Process] ProcessBuilder与Runtime差别
  • [JMS 3] ActiveMQ实现简单的helloworld
  • [LeetCode] Minimum Path Sum