CF578A(直线方程 + 数学) 1700

news2024/12/29 10:59:54

CF578A(直线方程 + 数学) 1700

有一条折线 , 这个折线经过这样一组点:

(0,0) - (x,x) - (2x,0) - (3x,x) - (4x,0) - ....

在这里插入图片描述

现给出折线上一点 , 求 x 的最小值

思路:我们不妨用解方程的思想 ,先写出折线的方程(y = kt + b), 然后解方程

上升段:

y = t − 2 k x ( k = 0 , 1 , 2 , 3.... ) y = t - 2kx(k = 0 , 1 , 2 , 3....) y=t2kx(k=0,1,2,3....)

x = t − y 2 k ( k = 0 , 1 , 2 , 3.... ) x = \frac{t - y}{2k}(k = 0 , 1 , 2 , 3....) x=2kty(k=0,1,2,3....)

下降段:

y = − t + 2 k x ( k = 1 , 2 , 3.... ) y = -t + 2kx(k = 1 , 2 , 3....) y=t+2kx(k=1,2,3....)

x = t + y 2 k ( k = 1 , 2 , 3.... ) x = \frac{t + y}{2k}(k = 1 , 2 , 3....) x=2kt+y(k=1,2,3....)

由于 t 与 y 已知(输入量) , 要想让 x 最小 , 使得 k 最大即可 , 所以问题转化为如何求 k。

在图像中 ,x 为纵坐标的最高点 , 因此还需要满足

t + y 2 k ≥ y \frac{t + y}{2k}\ge y 2kt+yy

k ≥ 1 时

k ≤ t + y 2 y k\le \frac{t+y}{2y} k2yt+y

我们上面分析过了 , 要取最大值 , 即若

t + y 2 y ≥ 1 \frac{t+y}{2y} \ge1 2yt+y1

则有解 , 分别带入上升段和下降段求最小值即可

当 k = 0 时 显然 y = t

显然 当 x = t 的时候 x 最小。

#include<bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define IOS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
#define int long long
const int N = 2e5+10;
const int mod = 1e9 + 7;
typedef pair<int,int>PII;
const int inf = 1 << 31 - 1;
const double eps = 1e-9;

double x , y , k , ans = inf; 

signed main(){

	cout << fixed << setprecision(10);

	cin >> x >> y;
	
	if(x == y) ans = x;
	else{
		k = (x - y) / (2 * y);
		k = (int) k;
		if(k >= 1) ans = (x - y) / (2 * k);
		
		k = (x + y) / (2 * y);
		k = (int) k;
		if(k >= 1) ans = min(ans , (x + y) / (2 * k));	
	}
	
	if(ans == inf) cout << "-1"; 
	else cout << ans ;
	

	return 0;
}
//freopen("文件名.in","r",stdin);
//freopen("文件名.out","w",stdout);

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

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

相关文章

AIGC-stable-diffusion系列1- stable-diffusion-webui

安装方法1&#xff0c;源码安装 参考 repo参考地址&#xff1a;https://github.com/AUTOMATIC1111/stable-diffusion-webui python下载地址&#xff1a;https://www.python.org/downloads/release/python-3106/ git下载地址&#xff1a;https://git-scm.com/download/win 官…

逻辑回归模型

目录 引言 逻辑回归的理论基础 逻辑回归的实践 实战案例&#xff1a;银行营销预测 超越逻辑回归 引言 我们在上一篇文章中讨论了线性回归模型&#xff0c;探讨了如何利用它来解决连续变量预测的问题。今天&#xff0c;我们将转向一种新的模型——逻辑回归&#xff0c;它用…

TIDB v7.1 reource control资源管控特性体验贴

作者&#xff1a; bert 原文来源&#xff1a; https://tidb.net/blog/60c87e38 TIDB v7.1 reource control资源管控特性体验贴 1. 使用场景&#xff1a; 定义&#xff1a;TIDB的资源管控 (Resource Control) &#xff0c;使用资源管控特性&#xff0c;将用户绑定到某个资源…

摇骰子设计与实现(uni-app微信小程序)

文章目录 摇骰子设计与实现准备工作实现步骤以及思路第一步&#xff1a;实现准备状态第二步&#xff1a;实现晃动中状态第三步&#xff1a;等待开起状态第四步&#xff1a;开启后状态部分优化 总代码 摇骰子设计与实现 手机摇一摇可以摇骰子&#xff0c;上划可查看结果&#x…

桥梁健康监测:时刻感知桥梁“脉搏”

随着交通量的不断增加&#xff0c;桥梁作为一种重要的交通基础设施&#xff0c;其安全性和可靠性面临着日益严峻的挑战。桥梁健康监测是保障桥梁安全和预防桥梁事故的重要手段&#xff0c;本文将介绍桥梁健康监测的意义、技术手段和应用案例。 一、桥梁健康监测的意义 保障交通…

解决React18+ts项目导入模块的声明报错

路径配置 项目路径别名的配置 ts对指向src的目录提示是不支持的 所以需要手动配置符号指向 在vite.config.ts import path from path export default defineConfig({plugins:[react()],resolve:{alias:{"":path.resolve(__dirname, ./src)}} })但这时path模块引入会…

阿里30K测试开发岗位面试过程

面试总结 a.测开岗考察内容与软开岗类似&#xff0c;难度相对较小 b.阿里是一面技术面试官协调推进面试流程&#xff0c;HR参与较少 c.遇到的面试官都很nice 一面 自我介绍项目C基础 C底层如何进行内存分配 C是面向对象的编程&#xff0c;类中默认的拷贝构造函数是浅复制…

使用 ANTMAN 工具替换 OceanBase 云平台节点

OceanBase 环境基本都会先安装 OCP 来部署、监控、运维数据库集群。但如果有机器过保等问题&#xff0c;就需要有平稳的 OCP 节点的替换方案。 作者&#xff1a;张瑞远 上海某公司 DBA&#xff0c;曾经从事银行、证券数仓设计、开发、优化类工作&#xff0c;现主要从事电信级 I…

旅游卡景区购票小程序开发定制

旅游业的蓬勃发展&#xff0c;越来越多的景区开始推出自己的旅游卡&#xff0c;以吸引更多的游客前来观光。同时&#xff0c;为了更加便捷地服务游客&#xff0c;许多景区也开始启用小程序来进行门票售卖和游客管理。针对这种情况&#xff0c;专业的小程序开发公司推出了定制旅…

机器学习-特征选择:如何使用相关性分析精确选择最佳特征?

一、引言 「特征选择」在机器学习中发挥着重要的作用&#xff0c;它的目标是从众多可用特征中挑选出最具预测能力的特征子集&#xff0c;以提高模型性能和泛化能力。然而&#xff0c;由于现实中的数据集通常具有大量特征和复杂的相关性&#xff0c;特征选择变得非常具有挑战性。…

[ 云计算 | AWS ] IAM 详解以及如何在 AWS 中直接创建 IAM 账号

本章节主要介绍 IAM 相关知识点以及在 AWS 控制台窗口如何创建一台 Amazon IAM 账号。 文章目录 一、什么是 IAM&#xff1f;二、IAM 常见种类2.1 EIAM2.2 CIAM2.3 云厂商 IAM 三、账号&#xff08;Account&#xff09;三户模型 四、认证&#xff08;Authentication&#xff09…

java使用Tess4J实现OCR图片文字识别

目录 介绍一、maven如下二、下载语言模型1.下载语言模型2.百度云下载 三、测试1.测试代码2.测试图片3.效果 介绍 Tess4J 是 Tesseract OCR 的 java api 实现库&#xff0c;你可以通过 java 调用来轻松的实现图片识别并提取文字&#xff0c;也就是 OCR 图片提取文字技术。 Tes…

黑客是什么?想成为黑客需要学习什么?

什么是黑客 在《黑客辞典》里有不少关于“黑客”的定义, 大多和“精于技术”或“乐于解决问题并超越极限”之类的形容相关。然而&#xff0c;若你想知道如何成为一名黑客&#xff0c;只要牢记两点即可。 这是一个社区和一种共享文化&#xff0c;可追溯到那群数十年前使…

mybits相关知识点

这里写目录标题 入门第一个程序步骤配置sql&#xff0c;建立数据库连接 jdbc数据库连接池简介连接池的切换总结 lombok Mybatis基础操作&#xff08;注解&#xff09;准备工作类型对应 删除简介具体代码 预编译简介优点优点1优点2 预编译的实现总结 新增简介具体代码 新增&…

如何发布插件到npm

首先 你需要注册一个npm账号 npm 网址&#xff1a;https://www.npmjs.com/ 点击 Sign in 跳转到登录页面 点击 Create Account 进行一个新建账户 注册完成后会有一封邮件发送一个一次性密码&#xff0c;到时候验证一下就行。 登录完成之后 点击你的头像 点击Account 进行验证…

ORA-01940 处理方法

问题描述 在删除用户时&#xff0c;提示 ORA-01940&#xff1a;无法删除当前连接的用户 处理方法 出现这种错误&#xff0c;是因为当前用户有连接的session。 1.通过如下语句查询对应的连接&#xff1a; select sid,serial# from v$session where usernameTSAI结果如下&am…

BACnet资料整理

BACnet stack 链接: link VS2019工程有几个编译错误&#xff0c;文件没有加入工程中 https://bacnet.sourceforge.net/ 使用该协议栈生成的几个工具 https://sourceforge.net/projects/bacnet/files/bacnet-tools/ BACnet stack BACnet基础 https://wenku.baidu.com/view/bd…

用OpenCV进行传统图像分割

1. 引言 欢迎回来&#xff0c;我的图像处理爱好者们&#xff01;本文我们将直接进入传统图像分析的新领域——图像分割&#xff0c;这是指将图像分成若干具有相似性质的区域的过程&#xff0c;从数学角度来看&#xff0c;图像分割是将图像划分成互不相交的区域的过程。 闲话少…

上海亚商投顾:沪指高开高走涨1.31% 汽车整车板块领涨

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 市场情绪 三大指数今日集体反弹&#xff0c;沪指全天高开高走&#xff0c;深成指、创业板指午后有所回落。中字头及以保险为…

3.FreeRTOS系统源码移植

目录 一、获取FreeRTOS源代码 二、FreeRTOS系统源码内容 三、FreeRTOS系统源码移植 一、获取FreeRTOS源代码 来FreeRTOS官方网站:https://www.freertos.org/ 我这里主要提供的是例程为FreeRTOS的V10.4.6版本 1、进入官网&#xff0c;点击Download FreeRTOS 2、点击Downl…