Educational Codeforces Round 146 (Rated for Div. 2)(VP)
写个题解
A. Coins
void solve(){ll n, k; cin >> n >> k;bl ok = true;if (n &1 && k %2 == 0) ok = false;print(ok ? yes : no);
}
B. Long Legs
void solve(){db x, y; cin >> x >> y;if (x < y) swap(x, y);int t1 = ceil(sqrt(x)), t2 = ceil(sqrt(y)); //两个方向各自的最佳步长int ans = (t1 - 1) + ceil(x / t1) + ceil(y / t1);lfor (i, t1, sqrt(x) * 2){ans = min(ans, int((i - 1) + ceil(x / i) + ceil(y / i)));}print(ans);
}
讲一下b。
秉着根据题目特性面向过程编程的思想,可以发现题目中有x和y两个方向,如果只有一个方向的话,那么最佳步长设为t则y = (t - 1) + ceil(x / t),x是距离,ceil是向上取余,求导后可以得出当
步长t=ceil(sqrt(x))时,y为极小值点,所以当只拿一个方向讨论的时候,可以得出当前方向上的最小步长。
然而题目需要讨论两个方向,我们只要把这个思想拓展并应用到两个方向上即可。两个方向与一个方向的不同点,在于当两个方向都要运动时,步长+1带来的效益(操作次数变少)是双向的(对于x轴和y轴都有益),但是有一个阈值,当步长超过这个阈值时,再增加步长将没有意义。
但是有一点可以确定,步长一定不会小于两个方向中距离较远的坐标的最佳步长,即最终的步长一定大于等于两个方向上的最佳步长的较大值。基于以上理论,可以确定步长的下限。再大致确定一下步长的上限,题目数据范围是1e9,一个比较合适的阈值上限是sqrt(1e9) + c,c是一个常数。或者直接k * (sqrt(1e9))也可。
C. Search in Parallel
贪心构造即可。
void solve(){int n, s1, s2; cin >> n >> s1 >> s2;vpi query(n + 1);lfor (i, 1, n){cin >> query[i].first;query[i].second = i;}sort(RALL(query));vi a, b;LITER(x, query){auto[r, i] = x;if (1ll * (len(a) * s1 + s1) > 1ll * (len(b) * s2 + s2)){b.pb(i);}else{a.pb(i);}}cout << len(a) << " \n"[len(a) == 0];print(a);cout << len(b) << " \n"[len(b) == 0];print(b);
}
这里要提一点,题目指出了每种box的request次数,但是没有指出request是连续的,所以在写题目时很容易主观的将次数*查询时间作为代价,然后不断的将代价进行累积,这种做法会在case3 WA。正确的想法应该是将查询次数多的尽可能的往前靠,最后查询的总时间减少,即每次request都是一次单独的查询,最后的总时间也是单次查询的时间*对应的查询次数。 也就是说,当前的查询次数没有后继性。查询次数的重要性只体现在总时间的计算上。
总结,B题告诉人们一定要用脑子思考
C题告诉人们读题真的很难
相关文章:
Educational Codeforces Round 146 (Rated for Div. 2)(VP)
写个题解 A. Coins void solve(){ll n, k; cin >> n >> k;bl ok true;if (n &1 && k %2 0) ok false;print(ok ? yes : no); } B. Long Legs void solve(){db x, y; cin >> x >> y;if (x < y) swap(x, y);int t1 ceil(sqrt(x))…...
9.30国庆
消息队列完成进程间通信 #include <myhead.h>#define size sizeof(msg_ds)-sizeof(long) //正文大小//消息结构体 typedef struct {long msgtype; //消息类型char data[1024]; //消息正文 }msg_ds;//创建子线程构造体 void *task1(void *arg) {//创造第二个key值ke…...
java基础-第4章-面向对象(二)
一、static关键字 静态(static)可以修饰属性和方法。 称为静态属性(类属性)、静态方法(类方法)。 静态成员是全类所有对象共享的成员。 在全类中只有一份,不因创建多个对象而产生多份。 不必创…...
flex加 grid 布局笔记
<style> .flex-container { display: flex; height: 100%; /* 设置容器的高度 */ } .wide { display: flex; padding: 10px; border: 1px solid lightgray; text-align: center; justify-content: …...
最高评级!华为云CodeArts Board获信通院软件研发效能度量平台先进级认证
9月26日,华为云CodeArts Board获得了中国信通院《云上软件研发效能度量分级模型》的先进级最高级评估,达到了软件研发效能度量平台评估的通用效能度量能力、组织效能模型、项目效能模型、资源效能模型、个人效能模型、研发效能评价模型、项目管理域、开发…...
图像上传功能实现
一、后端 文件存放在images.path路径下 package com.like.common;import jakarta.servlet.ServletOutputStream; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annot…...
03_Node.js模块化开发
1 Node.js的基本使用 1.1 NPM nodejs安装完成后,会跟随着自动安装另外一个工具npm。 NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。 2020年3月17日&…...
Nginx支持SNI证书,已经ssl_server_name的使用
整理了一些网上的资料,这里记录一下,供大家参考 什么是SNI? 传统的应用场景中,一台服务器对应一个IP地址,一个域名,使用一张包含了域名信息的证书。随着云计算技术的普及,在云中的虚拟机有了一…...
Hive【Hive(六)窗口函数】
窗口函数(window functions) 概述 定义 窗口函数能够为每行数据划分 一个窗口,然后对窗口范围内的数据进行计算,最后将计算结果返回给该行数据。 语法 窗口函数的语法主要包括 窗口 和 函数 两个部分。其中窗口用于定义计算范围…...
Met no ‘TRANSLATIONS’ entry in project
这里写自定义目录标题 问题描述:解决方法: 问题描述: 多工程项目,执行完update Translation生成了.ts文件,也用翻译工具翻译完了,执行release时,报错“Met no ‘TRANSLATIONS’ entry in proje…...
Leetcode901-股票价格跨度
一、前言 本题基于leetcode901股票价格趋势这道题,说一下通过java解决的一些方法。并且解释一下笔者写这道题之前的想法和一些自己遇到的错误。需要注意的是,该题最多调用 next 方法 10^4 次,一般出现该提示说明需要注意时间复杂度。 二、解决思路 ①…...
“传统文化宣传片+虚拟人动捕设备”前景如何?
在数字化时代的发展下,动捕设备的加入,让传播传统文化的虚拟人更具生动表现,拉近人们与传统文化的距离,通过虚拟人动作捕捉动画宣传片,引起更多人对传统文化的关注与传承。 *图片源于网络 深圳文博会创意短片《嗨ICIF…...
节假日moc服务数据:解决用户99%的IT问题
Hi~ 伙伴们,这个国庆假期过得怎么样? 节后第一个工作日如期而至, 忙碌是消除倦怠的最佳良药。 回顾8天假日moc工程师的一组服务数据, 处理事件184起,工单23条。 其中,较为典型案例如下: 1、福建某附属医院…...
WOL唤醒配置(以太网、PHY、MAC)
目录 wol 以太网 MAC PHY RMII 通信配置 总结 wol Wake-on-LAN简称WOL,WOL(网络唤醒) 是一种标准网络协议,它的功效在于让已经进入休眠状态或关机状态的计算机,透过局域网(多半为以太网ÿ…...
MySQL复制,约束条件,查询与安全控制
MySQL之复制 复制表 我有一个表 mysql> show tables; ------------------ | Tables_in_school | ------------------ | student | ------------------mysql> select * from student; -------------------------------------------- | id | name | sec |…...
Java ES 滚动查询
滚动查询(Scroll Query)是 Elasticsearch 提供的一种机制,用于处理大量数据的查询。它允许你在多个请求之间保持“游标”,以便在后续请求中获取更多的结果。 以下是滚动查询的基本工作原理: 1 初始查询: 客户端发送一…...
机器学习算法基础--KNN算法分类
文章目录 1.KNN算法原理介绍2.KNN分类决策原则3.KNN度量距离介绍3.1.闵可夫斯基距离3.2.曼哈顿距离3.3.欧式距离 4.KNN分类算法实现5.KNN分类算法效果6.参考文章与致谢 1.KNN算法原理介绍 KNN(K-Nearest Neighbor)工作原理: 在一个存在标签的…...
深入探究 C++ 编程中的资源泄漏问题
目录 1、GDI对象泄漏 1.1、何为GDI资源泄漏? 1.2、使用GDIView工具排查GDI对象泄漏 1.3、有时可能需要结合其他方法去排查 1.4、如何保证没有GDI对象泄漏? 2、进程句柄泄漏 2.1、何为进程句柄泄漏? 2.2、创建线程时的线程句柄泄漏 …...
BLE协议栈1-物理层PHY
从应届生开始做ble开发也差不读四个月的时间了,一直在在做上层的应用,对蓝牙协议栈没有过多的时间去了解,对整体的大方向概念一直是模糊的状态,在开发时也因此遇到了许多问题,趁有空去收集了一下资料来完成了本次专栏&…...
光伏储能直流系统MATLAB仿真(PV光伏阵列+Boost DCDC变换器+负载+双向DCDC变换器+锂离子电池系统)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
EVA-01保姆级教程:Qwen2.5-VL-7B多模态大模型在EVA-01中的本地化安全部署
EVA-01保姆级教程:Qwen2.5-VL-7B多模态大模型在EVA-01中的本地化安全部署 1. 引言:欢迎来到NERV指挥中心 想象一下,你面前有一个能看懂图片、理解图表、甚至能和你讨论图片里发生了什么的智能助手。现在,我们把这个助手装进了一…...
基于springboot服装生产管理的设计与实现.7z(源码+论文+任务书+开题报告)
[点击下载链接》》》] 本协力服装厂服装生产管理系统设计目标是实现协力服装厂服装生产的信息化管理,提高管理效率,使得协力服装厂服装生产管理作规范化、科学化、高效化。 本文重点阐述了协力服装厂服装生产管理系统的开发过程,以实际运用为…...
告别重复代码:BaseMapperPlus在SpringBoot项目中的5个高级用法
BaseMapperPlus实战:SpringBoot项目中提升开发效率的5个高阶技巧 在SpringBoot项目中使用MyBatis-Plus进行数据持久层开发时,BaseMapperPlus作为社区广泛采用的扩展接口,能显著减少模板代码。本文将分享五个实际业务场景中的高阶用法…...
阿联酋人工智能大学:AI能在战争迷雾中做出理性判断吗?
这项由阿联酋穆罕默德本扎耶德人工智能大学和美国马里兰大学共同完成的研究发表于2026年3月,论文编号为arXiv:2603.16642v1。有兴趣深入了解的读者可以通过该编号查询完整论文。在人类历史上,预测战争走向一直是个极其困难的任务。就像我们很难在暴风雨中…...
使用AI大大提升了学习代码的效率
最近看到一个观点,说AI的发展导致代码越来越不值钱了,AI降低了我们学习的门槛,大大提升了学习效率。好像很多程序都可以一个人一天上架一款产品。或许有夸张成分,但像我们普通人都体验到了AI的方便,比如在项目开发的过…...
CentOS7 下 Go 多版本管理与无缝升级指南
1. 为什么需要Go多版本管理? 在CentOS7系统上开发Go项目时,经常会遇到这样的尴尬:新项目需要用最新版Go的特性,而老项目必须跑在特定旧版本上才能兼容。我去年就踩过这个坑——用Go 1.21写完的微服务,部署到生产环境发…...
【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(五)- 动态配置与性能优化实战(vsetvli/vsetivli/vsetvl)
1. 动态向量配置指令的核心作用 RISC-V向量扩展指令集中最精妙的设计之一,就是允许程序运行时动态调整向量处理参数的机制。想象你正在用不同尺寸的螺丝刀组装家具——当遇到大螺丝就换大号刀头,碰到小螺丝立即切换精密刀头,这就是vsetvli/vs…...
【单片机】内核中断及NVICPending
红色框住的是M3内核中断,青色框住的默认打开,不可关闭中断(除NMI外可屏蔽)。包括SysTick在内无需NVIC_EnableIRQ,也无需在中断处理函数里清标志位。NVIC_SetPendingIRQ和NVIC_ClearPendingIRQ基本用不到,任…...
LVGL 7.11.0 Chart控件实战:5分钟搞定动态心率折线图(附完整代码)
LVGL 7.11.0 Chart控件实战:5分钟搞定动态心率折线图(附完整代码) 在嵌入式设备上实现流畅的数据可视化一直是开发者的痛点。LVGL作为轻量级图形库,其Chart控件能完美解决这一问题。本文将手把手教你用LVGL 7.11.0的Chart控件&am…...
【Zynq 进阶一】深度解析 PetaLinux 存储布局:NAND Flash 分区与 DDR 内存分配全攻略
【Zynq 进阶】深度解析 PetaLinux 存储布局:NAND Flash 分区与 DDR 内存分配全攻略 文章目录【Zynq 进阶】深度解析 PetaLinux 存储布局:NAND Flash 分区与 DDR 内存分配全攻略📝 前言📦 第一部分:大局观——NAND 与 D…...
