2025 河北ICPC( D. 金泰园(二分)-- C.年少的誓约(公式转化))

news2025/5/30 14:30:15

文章目录

  • 2025 河北ICPC
    • D. 金泰园(二分)
    • C.年少的誓约(公式转化)
    • 总结

2025 河北ICPC

题目链接:

Attachments - The 9th Hebei Collegiate Programming Contest - Codeforces

sdccpc20250522 - Virtual Judge

赛时:5道

D. 金泰园(二分)

没想到二分,偶然间听到,还没想出怎么二分,此题借助题解和其他人代码。

  • 二分对象是谁?

​ 本题,如果二分答案即和的最小值,check函数怎么写呢?

​ 似乎解决不了。那还可以二分什么呢?

​ 二分找到所选择的k对中的最大差值

  • check函数怎么写?

    对于x ,如果差值小于等于x的对数大于等于 k ,说明最小差值小于等于 x。

  • 怎么查找差值小于等于x的对数

    对于排好序的数组,如果a[i+p]-a[i]<=x,p是满足条件的最大值,

    那么对于a[i+1+t]-a[i+1]<=x 满足条件的 t 一定大于 p。

    易知,所有满足的下标值是不断增大的,最大为 n 。

    循环计算每个a[i],所构成的对数。

  • 已知x,再通过前缀和 计算 差值小于等于 x 的和

  • 用cnt记录满足条件的对数有多少个

  • 最大差值为 x ,不代表所有差值等于 x 都需要选择。用cnt-k,就是多计算的。

int a[N],n,k,pre[N];
bool check(int x)
{
	int sum=0,p=1;
	for(int i=1;i<=n;i++)
	{
		while(p<=n&&a[p]-a[i]<=x) p++;
		sum+=p-i-1;
	}
	return sum>=k;
}
void solve()
{
    cin>>n>>k;
    fir(i,1,n)
    cin>>a[i];
    sort(a+1,a+n+1);
    int l=1,r=1e8;//找到前k个的最大差值
    while(l<r)
    {
    	int mid=(l+r)>>1;
    	if(check(mid))
    	r=mid;
    	else l=mid+1;
    }
    fir(i,1,n)
    pre[i]+=pre[i-1]+a[i];
    int ans=0,cnt=0,p=1;
    for(int i=1;i<=n;i++)
    {
    	while(p<=n&&a[p]-a[i]<=l)
    	p++;
    	ans+=pre[p-1]-pre[i]-a[i]*(p-i-1);
    	cnt+=p-i-1;//计算有几个>=l
    }
    ans-=(cnt-k)*l;//减去多余的
    cout<<ans;
}

C.年少的誓约(公式转化)

请添加图片描述

有几个坑:

  • n*x<m ,输出NO。不然可能WA/RE
  • 数据范围 :__int128

对所有的c-b*k进行排序,按顺序分配 x , x , x , m%x , 0 , 0 , 0

int a[N];
void solve()
{ 
	int n,m,k,x;
    cin>>n>>m>>k>>x;
     __int128 sum=0,ans=0;
    fir(i,1,n)
    {
    	int xx,yy;
    	cin>>xx>>yy;
    	a[i]=yy-k*xx;      
    	sum+=xx*yy;
    }  
    if(n*x<m)
    {
    	cout<<"NO\n";
    	return;
    }  
    int f=m/x,g=m%x;
    ans+=(__int128)x*x*k*f+(__int128)g*g*k;
    sort(a+1,a+n+1,greater<int>());
    fir(i,1,f)
    {
    	ans+=(__int128)a[i]*x;
    }
    ans+=(__int128)a[f+1]*g;
    if(ans<=sum)
    cout<<"NO\n";
    else cout<<"YES\n";
    
}

总结

赛时C、D题没写出来,太可惜了。虽然目前只过了7道题,不过也还可以。

今天是CCPC训练赛第一天,我们队稳扎稳打,凡是过的题,都没有WA

就是慢了一点,但目前不构成影响。

希望明天训练赛,大脑在线。

今天D题竟然没看出二分!!!每次的二分都意料之外,虽然现在看来不过如此,没A也是事实。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mongodb语法$vlookup性能分析

1 场景描述 mongodb有两个表department和user表&#xff0c; department表有_id,name,level&#xff0c;表有记录169w条 user表有_id,name,department_id&#xff0c;表有记录169w条&#xff0c;department_id没有创建索引&#xff0c;department_id是department的_id。 现…

晶圆隐裂检测提高半导体行业效率

半导体行业是现代制造业的核心基石&#xff0c;被誉为“工业的粮食”&#xff0c;而晶圆是半导体制造的核心基板&#xff0c;其质量直接决定芯片的性能、良率和可靠性。晶圆隐裂检测是保障半导体良率和可靠性的关键环节。 晶圆检测 通过合理搭配工业相机与光学系统&#xff0c…

在 LangChain 中集成 Mem0 记忆系统教程

目录 简介环境准备基础配置核心组件说明1. 提示模板设计2. 上下文检索3. 响应生成4. 记忆存储 工作流程解析使用示例关键特性完整代码与效果 简介 Mem0 是一个强大的记忆系统&#xff0c;可以帮助 AI 应用存储和检索历史对话信息。本教程将介绍如何在 LangChain 应用中集成 Me…

华润电力招聘认知能力测评及性格测评真题题库考什么?

华润电力招聘测评包含逻辑推理、数字推理、语言理解三大类型的问卷。共计58题。测评限时60分钟。其中逻辑推理、数字推理、语言推理分别限时20分钟&#xff0c;如逾时未完成相关测试&#xff0c;测试将自动终止&#xff0c;请注意测评时间。为了确保测评的连贯性&#xff0c;建…

Maven Profile在插件与依赖中的深度集成

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

手机平板等设备租赁行业MDM方案解析

目录 引言&#xff1a;MDM 在租赁行业的重要性日益凸显 用户场景&#xff1a;租赁公司面临的主要挑战 1. 设备丢失、逾期未还 2. 手动配置和恢复效率低 3. 非授权使用频繁 4. 时区设置混乱影响运维 5. 缺乏实时监管能力 EasyControl MDM&#xff1a;租赁设备的远程管控…

如何调试CATIA CAA程序导致的CATIA异常崩溃问题

问题背景&#xff1a;我采用CATIA CAA编写了一个界面的小程序&#xff0c;功能运行成功&#xff0c;但是每次运行完&#xff0c;关闭CATIA的时候&#xff0c;都会弹出这个对话框&#xff0c;这个对话框的意思是CATIA运行崩溃&#xff0c;点击确定后&#xff0c;CATIA就会意外关…

SQL查询效率以及索引设计

1. SQL 查询效率与数据库缓冲池机制 1.1. 数据库缓冲池&#xff08;Buffer Pool&#xff09; 磁盘 I/O 需要消耗的时间很多&#xff0c;而在内存中进行操作&#xff0c;效率则会高很多&#xff0c;为了能让数据表或者索引中的数据随时被我们所用&#xff0c;DBMS 会申请占用内…

day37打卡

知识点回顾&#xff1a;浙大疏锦行 过拟合的判断&#xff1a;测试集和训练集同步打印指标模型的保存和加载 仅保存权重保存权重和模型保存全部信息checkpoint&#xff0c;还包含训练状态 早停策略 作业&#xff1a;对信贷数据集训练后保存权重&#xff0c;加载权重后继续训练50…

分布式缓存:证明分布式系统的 CAP 理论

文章目录 Pre一、分布式系统背景与特点二、CAP 三要素详解三、CAP 定理的反证证明四、CP 架构与 AP 架构对比典型场景 五、CAP 理论在系统设计中的应用六、总结 Pre 分布式缓存&#xff1a;CAP 理论在实践中的误区与思考 分布式缓存&#xff1a;BASE理论实践指南 分布式 - 从…

软件设计师“面向对象设计”真题考点分析——求三连

一、考点分值占比与趋势分析 综合知识历年考察统计 年份考题数分值占比考察重点2018334%继承类型、设计原则2019445.3%多态实现、类关系2020556.7%设计模式应用、接口隔离2021334%消息通信、封装特性2022668%开闭原则、组合模式2023556.7%模板方法、适配器模式2024445.3%单一…

AI大模型学习二十八、ACE-Step:生成式AI音乐大模型简介与安装(一)

一、说明 先来一首创作的歌&#xff1a; 在大模型和生成式AI模型大规模发达的今天&#xff0c;利用大模型生成音乐也是其中一个重要的发展方向。今天我们就介绍一个这样的音乐生成模型ACE-Step&#xff0c;可基于关键字和歌词生成歌曲&#xff1b;基于歌曲生成伴奏等等功能。 …

接口性能测试-工具JMeter的学习

接口登录链接http://111.230.19.204:8080/blog_login.html 一、JMeter基本使用流程 1、启动Jmeter 2、在“测试计划”下添加线程组 3、在“线程组”下添加“HTTP”取样器 4、填写“HTTP请求”的相关请求数据 5、在“线程组”下添加“查看结果树”监听器 6、点击“启动”按钮…

python如何离线安装pandas,numpy

1.首先在有网的电脑上正常安装python&#xff08;和离线环境一样的版本&#xff09; 然后 pip install pandas &#xff08;不嫌麻烦的话也可以自己手动去pandas PyPI​​​​​​​ 一个个下载&#xff09; 安装好后导出相关包&#xff0c;使用如下指令 2.然后相关依赖包就…

Java Swing 自定义JOptionPane

运行后的样式 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;public class demoB {public static void main(String[] args) {SwingUtilities.invokeLater(() -> {JFrame jf new JFrameDemo();jf.se…

【图像大模型】Stable Diffusion XL:下一代文本到图像生成模型的技术突破与实践指南

Stable Diffusion XL&#xff1a;下一代文本到图像生成模型的技术突破与实践指南 一、架构设计与技术演进1.1 核心架构革新1.2 关键技术突破1.2.1 双文本编码器融合1.2.2 动态扩散调度 二、系统架构解析2.1 完整生成流程2.2 性能指标对比 三、实战部署指南3.1 环境配置3.2 基础…

C 语言指针之手写内存深度剖析与手写库函数:带你从0开始手撸库 附录1.5 万字实战笔记

一、指针入门&#xff1a;从野指针到空指针 1.1 野指针的第一次暴击&#xff1a;沃日 哪里来的Segmentation Fault &#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f; 刚学指针时写过一段让我及其楠甭的代码,我x了xx的&#xff0c;最后才发现是为…

C#高级:Winform桌面开发中CheckedListBox的详解

一、基础设置 单击触发选择效果&#xff1a;需要选择下面这个为True 二、代码实现 1.设置数据源 /// <summary> /// 为CheckBoxList设置数据源 /// </summary> /// <param name"checkedListBox1"></param> /// <param name"data&…

AI学习笔记二十八:使用ESP32 CAM和YOLOV5实现目标检测

若该文为原创文章&#xff0c;转载请注明原文出处。 最近在研究使用APP如何显示ESP32 CAM的摄像头数据&#xff0c;看到有人实现把ESP32 CAM的数据流上传&#xff0c;通过YOLOV5来检测&#xff0c;实现拉流推理&#xff0c;这里复现一下。 一、环境 arduino配置esp32-cam开发环…

免费分享50本web全栈学习电子书

最近搞到一套非常不错的 Web 全栈电子书合集&#xff0c;整整 50 本&#xff0c;都是epub电子书格式&#xff0c;相当赞&#xff01;作为一个被期末大作业和项目 ddl 追着跑的大学生&#xff0c;这套书真的救我狗命&#xff01; 刚接触 Web 开发的时候&#xff0c;我天天对着空…