[ABC330F] Minimize Bounding Square

news/2024/10/9 14:22:42/文章来源:https://www.cnblogs.com/DLYdly1105/p/18454120

[ABC330F] Minimize Bounding Square

博导yth给的题目。

考虑到直接O(n)不太好做,但确定了正方形的边长之后可以很方便地计算操作次数,所以我们直接二分正方形的边长。

现在转化成 \(n\) 个点用边长为 \(s\) 的正方形框起来最小的代价。

\(x\)\(y\) 分开考虑,假设我们要算 \(x\) 的代价。

设当前最大值为 \(max\),最小值为 \(min\)

  • 如果最大值减最小值都要小于s的话,不用操作,退出
  • 否则,正方形放在两个最值之间最优,代价为 \(max\) - \(min\) - \(s\)

代码:

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int n,x[N],y[N];
long long k;
int check(int s)
{int cnt=0;long long ans=0;while(n-cnt*2>1){cnt++;if(x[n-cnt+1]-x[cnt]<s)break;ans+=x[n-cnt+1]-x[cnt]-s;}cnt=0;while(n-cnt*2>1){cnt++;if(y[n-cnt+1]-y[cnt]<s)break;ans+=y[n-cnt+1]-y[cnt]-s;}return ans<=k;
}
int main()
{scanf("%d%lld",&n,&k);for(int i=1;i<=n;i++)scanf("%d%d",&x[i],&y[i]);sort(x+1,x+1+n),sort(y+1,y+1+n);int l=0,r=1e9;while(l<r){int mid=l+r>>1;if(check(mid))r=mid;else l=mid+1;}printf("%d",l);return 0;
}

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

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

相关文章

.NET 代码混淆工具-JIEJIE.NETWX

阅读目录前言 项目介绍 项目功能 项目效果:蓝猫机场 项目地址 最后前言 JIEJIE.NET是一款强大的开源.NET程序集混淆工具。它利用深度加密技术和多样化的混淆策略,有效地保护了.NET软件的版权和源代码安全,防止未经授权的访问和篡改。 项目介绍 JIEJIE.NET是一个用C#开发的开源…

深入理解 HDFS 错误恢复

我们从动态的角度来看 hdfs 先从场景出发,我们知道 hdfs 的写文件的流程是这样的:数据以 pipeline 的方式写入 hdfs ,然后对于读取操作,客户端选择其中一个保存块副本的 DataNode 来读数据.考虑这样两个场景:hbase rs 在写 wal log 的时候.如果一个 rs 挂了.那么这个 rs 会转移…

深入理解HDFS 错误恢复

我们从动态的角度来看 hdfs 先从场景出发,我们知道 hdfs 的写文件的流程是这样的:数据以 pipeline 的方式写入 hdfs ,然后对于读取操作,客户端选择其中一个保存块副本的 DataNode 来读数据.考虑这样两个场景:hbase rs 在写 wal log 的时候.如果一个 rs 挂了.那么这个 rs 会转移…

通过MySQL Workbench 将 SQL Server 迁移到GreatSQL

通过MySQL Workbench 将 SQL Server 迁移到GreatSQL 一、概述 MySQL Workbench 提供了可以将Microsoft SQL Server的表结构和数据迁移到 GreatSQL 的功能,此次将通过MySQL Workbench将SQL Server的数据迁移到GreatSQL。 本文章只是简单演示一下单张表的迁移,如果在项目中使用…

我的第一个博客

我的第一个博客我的第一个博客 CBV添加装饰器的三种方式 # CBV添加装饰器 from django.views import View # 需要先导入method_decorator from django.utils.decorators import method_decorator # CBV中django不建议直接给类的方法加装饰器# @method_decorator(login_auth, na…

我店生活模式功能分析

一、平台概述 “我店”由上海我店科技网络有限公司创立于2021年8月,作为一个本地生活服务平台,它致力于响应国家的环保政策,并运用绿色积分来促进经济活动,帮助实体店铺吸引客流。面对实体商业的挑战,“我店”平台凭借其独特的商业模式,为商户与顾客提供了新的合作与发展…

AI即服务平台的优势

AI即服务平台以其降低成本、加速创新、提升效率、增强安全性及促进普惠化等多方面的优势,正在深刻改变企业运营模式和市场竞争格局。当今,企业为了提升竞争力、优化运营流程、增强用户体验,纷纷探索AI技术的应用。然而,AI技术的复杂性和高昂的研发成本往往成为中小企业和初…

易基因: Nat Commun:中南大学曾朝阳/熊炜/龚朝建团队利用ChIP-seq等揭示头颈鳞癌免疫逃逸机制|项目文章

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 免疫逃逸是癌症进展的关键里程碑,是肿瘤免疫治疗的理论基础。头颈部鳞状细胞癌((head and neck squamous cell carcinoma, HNSCC))是全球最常见的恶性肿瘤之一,传统治疗选择包括手术切除、放疗和化疗。最近…

20222407 2024-2025-1《网络与系统攻防技术》实验一实验报告

1.实验内容 1.1本周学习内容 1.1.1缓冲区溢出的定义和原因 定义:写入缓冲区的数据量超过该缓冲区能容纳的最大限度,造成溢出的数据改写了与该缓冲区相邻的原始数据的情形。 原因:(直接)由于代码语言的设计问题、程序员的安全意识问题,程序没有严格的内存越界检查;(根本…

揭秘!尤雨溪成立的VoidZero如何改变前端世界

Vue和Vite之父尤雨溪宣布成立公司 VoidZero,目前已经融资3200万。这篇文章欧阳将带你了解VoidZero是如何改变javascript的世界!前言 Vue和Vite之父尤雨溪宣布成立公司 VoidZero,目前已经融资3200万。这篇文章欧阳将带你了解VoidZero是如何改变javascript的世界! 关注公众号…

20222314 2024-2025-1 《网络与系统攻防技术》实验一实验报告

网络攻防实验报告姓名:陈振烨学号:20222314实验日期:2024/09/29 — 2024/10/09实验名称:缓冲区溢出和shellcode 指导教师:王志强实验要求:1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码(0.5分)2.掌握反汇编与十六进制编程器 (0.5分)3.能正确修改机器指令改变程序执行流…

最基本必会的增删改查

本文详细介绍了SQL中的四大基本操作:INSERT用于数据插入,DELETE用于数据删除,UPDATE用于更新数据,SELECT用于查询数据。文中还涵盖了WHERE条件查询,LIKE用于模糊查询,ORDERBY进行排序,LIMIT用于分页查询,以及聚合函数如COUNT(),SUM(),AVG()和MAX()。这些是数据库管理的…