聪明质检员

news/2025/3/18 18:46:59/文章来源:https://www.cnblogs.com/benscode/p/18779550

题目链接:https://www.luogu.com.cn/problem/P1314

题意:

m个区间,规定一个值W,对于每个区间进行有条件约束的求和得到y,求最小的s-y绝对值

思路:

由于查询的区间和数组本身是分离的,所以不能排序数组,然后二分查找!

其实就是二分答案(发现mid和y单调性相关,mid越大,y越小,mid越小,y越大),然后每次都进行相关前缀和预处理处理

时间复杂度O(m*logn)

struct node{int l,r;bool operator<(const node&a)const{return l<a.l;}
};
node a[maxn];
ll pre[maxn];
node interval[maxn];
ll s,n,m;
ll ans=llmax;
ll prex[maxn];
bool check(int mid){ll y=0,nums=0,sum=0;for(int i=1;i<=n;i++)prex[i]=prex[i-1]+(a[i].l>=mid?1:0);for(int i=1;i<=n;i++)pre[i]=pre[i-1]+(a[i].l>=mid?a[i].r:0);for(int i=1;i<=m;i++){int l=interval[i].l,r=interval[i].r;nums=prex[r]-prex[l-1];sum=pre[r]-pre[l-1];y+=nums*sum;	}ans=min(ans,abs(y-s));if(y>s)return true;return false;
}void solve(){cin>>n>>m;cin>>s;for(int i=1;i<=n;i++){cin>>a[i].l>>a[i].r;}for(int i=1;i<=m;i++){cin>>interval[i].l>>interval[i].r;}int l=0,r=1e16;while(l<=r){int m=l+r>>1;if(check(m)){l=m+1;}else{r=m-1;}}cout<<ans<<endl;
}
``u

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/901055.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端html+css+js

之前只知道html和css,不知道可以用js设置事件监听,一些输入判断条件就不知道怎么写,上了web课程后有所了解 这是此次作业代码是ai生成的,不过可以凭自己大致看懂,加上ai的解释和课堂ppt有所收获点击查看代码 <!DOCTYPE html> <html lang="zh"> <…

Git分支管理与代码合并实践:保持特性分支与主分支同步

场景说明 在团队协作开发中,开发者经常需要在特性分支(如 dev_feature_xxx)上实现新功能,同时需要定期同步主分支(如 develop)的最新代码,避免最终合并时产生严重冲突。本文将通过一个实际案例,演示如何安全地将主分支更新合并到特性分支,并完成代码推送与合并请求。完…

dify工作流

一、简介 官方地址:https://docs.dify.ai/zh-hans/guides/workflow工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了 LLM 应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。 Dify 工作流分为两…

wps实现多选下拉框3种方案

一、js宏listbox控件方案 优点: 1.wps默认宏环境,无需安装VBA环境 2.下拉框位置定位准确 缺点: 1.下拉框数据无法代码初始化,只能使用区域设置 2.一次只能选一个,多次选择实现多选 配置: 代码:function ListBox1_Click() {var cellValue = new String(ActiveCell.Valu…

Nginx 离线安装与介绍

一、安装 1.1 离线安装准备源代码包 #从项目的官方网站或代码仓库(如 GitHub)下载源代码 wget https://nginx.org/download/nginx-1.24.0.tar.gz #下载 tar -xzvf nginx-1.24.0.tar.gz #解压 cd nginx-1.24.0安装编译工具和依赖项 #正则表达式库(pcre-devel)、 数…

安装U8 IEWebControls 提示“The specified path http://localhost/webctrl client is unavailable.

安装U8 插件 IEWebControls 提示“The specified path "http://localhost/webctrl client is unavailable. The InternetInformation Server might not be running or the path exists and is redirected to anothelmachine. Please check the status of this virtual di…

VISI 2023下载与安装教程

‌Vero VISI 2023更新主要包括以下几个方面‌:‌CAD分析功能‌:新增了拔模分析功能,该功能扩展了底切和辅助功能阴影模式集,可以对拔模角度进行动态分析。用户可以通过图形工具栏上的颜色或数字标签来更改每个范围的颜色和角度值‌。 ‌维修功能‌:在“验证”命令中集成了…

中电金信:2025金融高质量发展指南:这两篇权威文件必读!

近日,国务院办公厅及权威机构接连发布两份重要文件,为金融业锚定2025年发展方向提供了清晰指引。无论是顶层设计的战略布局,还是前沿趋势的深度洞察,这两份文件已成为行业必读。3月5日,国务院办公厅印发《关于做好金融“五篇大文章”的指导意见》(以下简称《指导意见》)…

express 基本用法

启动一个http服务.import express from express;const app = express() //express 是个函数app.listen(3000, () => {console.log("服务器启动成功,3000"); }); get 和post接口//get //api地址,回调函数req是请求,res是响应 app.get("/get", (req, re…

Git 合并时出现 Please enter a commit message to explain why this merge is necessary 问题解决

1. 报错现象 2. 报错文字merge brach "dev" # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with # will be ignored, and an empty message a…

3.18 学习记录

将仓库管理系统的前端框架使用vue3搭建完成,修改了后端的部分bug,实现了登录功能,其他页面功能还未完成

MySQL 常用储存引擎

1一.存储引擎概述 定义‌:存储引擎是MySQL用于管理数据存储、查询、事务处理的底层组件。 ‌核心作用‌:决定数据如何存储、索引如何组织、事务是否支持等。 点击查看mysql逻辑架构概述 查看数据库所支持的存储引擎SHOW ENGINES; Engine: 表示存储引擎的名称 Support: 表示…