5月22总结
P1024 [NOIP 2001 提高组] 一元三次方程求解
题目描述
有形如:$ a x^3 + b x^2 + c x + d = 0 $ 这样的一个一元三次方程。给出该方程中各项的系数($ a,b,c,d $ 均为实数),并约定该方程存在三个不同实根(根的范围在 $ -100 $ 至 $ 100 $ 之间),且根与根之差的绝对值 $ \ge 1 $。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后 $ 2 $ 位。
提示:记方程 $ f(x) = 0 $,若存在 $ 2 $ 个数 $ x_1 $ 和 $ x_2 $,且 $ x_1 < x_2 , , , f(x_1) \times f(x_2) < 0 $,则在 $ (x_1, x_2) $ 之间一定有一个根。
输入格式
一行,$ 4 $ 个实数 $ a, b, c, d $。
输出格式
一行,$ 3 $ 个实根,从小到大输出,并精确到小数点后 $ 2 $ 位。
输入输出样例 #1
输入 #1
1 -5 -4 20
输出 #1
-2.00 2.00 5.00
说明/提示
【题目来源】
NOIP 2001 提高组第一题
题解:
就是特别要注意输入不是整数实数,所以用double,然后就是数学的零点存在定理,再运用二分法求出零点所在
#define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
using namespace std;
double a, b, c, d;
double f(double x) {return a * x * x * x + b * x * x + c * x + d;
}
int main() {cin >> a >> b >> c >> d;for (double x = -100; x <= 100; x++) {double left = x, right = x + 1;if (f(left) * f(right) == 0) {if (f(left) == 0) {printf("%.2f ", left);}}else if (f(left) * f(right) < 0) {while (right - left >=0.001) {double mid = right + (left - right) / 2;if (f(left) * f(mid) < 0) {right = mid;}else {left = mid;}}printf("%.2f ", left);}else continue;}return 0;
}
P1182 数列分段 Section II
题目描述
对于给定的一个长度为 $ N $ 的正整数数列 $ A_{1\sim N} $,现要将其分成 $ M ( ( ( M\leq N $)段,并要求每段连续,且每段和的最大值最小。
关于最大值最小:
例如一数列 $ 4\ 2\ 4\ 5\ 1 $ 要分成 $ 3 $ 段。
将其如下分段:
$ [4\ 2][4\ 5][1] $
第一段和为 $ 6 $,第 $ 2 $ 段和为 $ 9 $,第 $ 3 $ 段和为 $ 1 $,和最大值为 $ 9 $。
将其如下分段:
$ [4][2\ 4][5\ 1] $
第一段和为 $ 4 $,第 $ 2 $ 段和为 $ 6 $,第 $ 3 $ 段和为 $ 6 $,和最大值为 $ 6 $。
并且无论如何分段,最大值不会小于 $ 6 $。
所以可以得到要将数列 $ 4\ 2\ 4\ 5\ 1 $ 要分成 $ 3 $ 段,每段和的最大值最小为 $ 6 $。
输入格式
第 $ 1 $ 行包含两个正整数 $ N,M $。
第 $ 2 $ 行包含 $ N $ 个空格隔开的非负整数 $ A_i $,含义如题目所述。
输出格式
一个正整数,即每段和最大值最小为多少。
输入输出样例 #1
输入 #1
5 3
4 2 4 5 1
输出 #1
6
说明/提示
对于 $ 20% $ 的数据,$ N\leq 10 $。
对于 $ 40% $ 的数据,$ N\leq 1000 $。
对于 $ 100% $ 的数据,$ 1\leq N\leq 10^5 , , , M\leq N , , , A_i < 10^8 $, 答案不超过 $ 10^9 $。
解题思路:就是输入的时候找到数组中最大值还有数组的和,然后进行一下二分,如果为数组最大值,遍历一遍,看是否刚刚能够构成最大值最小的组合
#include<bits/stdc++.h>
using namespace std;
int n, m, r, l,a[100001];
bool isTrue(int x) {int num = 0, total = 0;for (int i = 1; i <= n; i++) {if (total + a[i] <= x)total += a[i];else{total = a[i];num++;}}return num < m;
}
int main() {cin >> n >> m;for (int i = 1; i <= n; i++) {cin >> a[i];l = max(l, a[i]);r += a[i];}while (l <= r) {int mid = (l + r) / 2;if (isTrue(mid))r = mid - 1;else l = mid+1;}cout << l;return 0;
}
相关文章:
5月22总结
P1024 [NOIP 2001 提高组] 一元三次方程求解 题目描述 有形如:$ a x^3 b x^2 c x d 0 $ 这样的一个一元三次方程。给出该方程中各项的系数($ a,b,c,d $ 均为实数),并约定该方程存在三个不同实根(根的范围在 $ -1…...
Java设计模式之桥接模式:从入门到精通
1. 桥接模式概述 1.1 定义与核心思想 桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立变化。这种模式通过提供桥梁结构(Bridge)将抽象和实现解耦。 专业定义:桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化…...

uni-app学习笔记九-vue3 v-for指令
v-for 指令基于一个数组来渲染一个列表。v-for 指令的值需要使用 item in items 形式的特殊语法,其中 items 是源数据的数组,而 item 是迭代项的别名: <template><view v-for"(item,index) in 10" :key"index"…...

MAC电脑中右键后复制和拷贝的区别
在Mac电脑中,右键菜单中的“复制”和“拷贝”操作在功能上有所不同: 复制 功能:在选定的位置创建一个与原始文件相同的副本。快捷键:CommandD用于在当前位置快速复制文件,CommandC用于将内容复制到剪贴板。效果&…...
Regmap子系统之六轴传感器驱动-编写icm20607.c驱动
(一)在驱动中要操作很多芯片相关的寄存器,所以需要先新建一个icm20607.h的头文件,用来定义相关寄存器值。 #ifndef ICM20607_H #define ICM20607_H /*************************************************************** 文件名 : i…...
常见高危端口解析:网络安全中的“危险入口”
目录 1. 经典高危端口列表 2. 典型漏洞案例:445端口与永恒之蓝 攻击原理 防御方案 Linux命令 2. 防护策略建议 三、扩展思考:从端口到攻防体系 结语 1. 经典高危端口列表 端口号 协议/服务 风险场景 21 FTP 明文传输凭据、弱密码爆破、匿名…...

华为2025年校招笔试手撕真题教程(二)
一、题目 大湾区某城市地铁线路非常密集,乘客很难一眼看出选择哪条线路乘坐比较合适,为了解决这个问题,地铁公司希望你开发一个程序帮助乘客挑选合适的乘坐线路,使得乘坐时间最短,地铁公司可以提供的数据是各相邻站点…...

征程 6 J6E/M linear 双int16量化支持替代方案
1.背景简介 当发现使用 plugin 精度 debug 工具定位到是某个 linear 敏感时,示例如下: op_name sensitive_type op_type L1 quant_dty…...

深度学习模块缝合拼接方法套路+即插即用模块分享
前言 在深度学习中,模型的设计往往不是从头开始,而是通过组合不同的模块来构建。这种“模块缝合”技术,就像搭积木一样,把不同的功能模块拼在一起,形成一个强大的模型。今天,我们就来聊聊四种常见的模块缝…...

改写视频生产流程!快手SketchVideo开源:通过线稿精准控制动态分镜的AI视频生成方案
Sketch Video 的核心特点 Sketch Video 通过手绘生成动画的形式,将复杂的信息以简洁、有趣的方式展现出来。其核心特点包括: 超强吸引力 Sketch Video 的手绘风格赋予了视频一种质朴而真实的质感,与常见的精致特效视频形成鲜明对比。这种独…...
Graphics——基于.NET 的 CAD 图形预览技术研究与实现——CAD c#二次开发
一、Graphics 类的本质与作用 Graphics 是 .NET 框架中 System.Drawing 命名空间下的核心类,用于在二维画布(如 Bitmap 图像)上绘制图形、文本或图像。它相当于 “绘图工具”,提供了一系列方法(如 DrawLine、FillElli…...
ElasticSearch 8.x 快速上手并了解核心概念
目录 核心概念概念总结 常见操作索引的常见操作常见的数据类型指定索引库字段类型mapping查看索引库的字段类型最高频使用的数据类型 核心概念 在新版Elasticsearch中,文档document就是一行记录(json),而这些记录存在于索引库(index)中, 索引名称必须是…...
AI神经网络降噪 vs 传统单/双麦克风降噪的核心优势对比
1. 降噪原理的本质差异 对比维度传统单/双麦克风降噪AI神经网络降噪技术基础基于固定规则的信号处理(如谱减法、维纳滤波)基于深度学习的动态建模(DNN/CNN/Transformer)噪声样本依赖预设有限噪声类型训练数据覆盖数十万种真实环境…...

04-Web后端基础(基础知识)
而像HTML、CSS、JS 以及图片、音频、视频等这些资源,我们都称为静态资源。 所谓静态资源,就是指在服务器上存储的不会改变的数据,通常不会根据用户的请求而变化。 那与静态资源对应的还有一类资源,就是动态资源。那所谓动态资源&…...

Spring Cloud生态与技术选型指南:如何构建高可用的微服务系统?
引言:为什么选择Spring Cloud? 作为全球开发者首选的微服务框架,Spring Cloud凭借其开箱即用的组件、与Spring Boot的无缝集成,以及活跃的社区生态,成为企业级微服务架构的基石。但在实际项目中,如何从众多…...

手写简单的tomcat
首先,Tomcat是一个软件,所有的项目都能在Tomcat上加载运行,Tomcat最核心的就是Servlet集合,本身就是HashMap。Tomcat需要支持Servlet,所以有servlet底层的资源:HttpServlet抽象类、HttpRequest和HttpRespon…...

高等数学-积分
一、不定积分 定理:如果函数f(x)在区间I上连续,那么f(x)在区间I上一定有原函数,即一定存在区间I上的可导函数F(x),使得F(x)f(x) ,x∈I 简单地说:连续函数必有原函数。 极限lim*0->x {[∫*0^x sin(t^2)…...

IOS平台Unity3D AOT全局模块结构分析
分析背景 由于IOS平台中不允许执行动态代码,Unity 4.6之前的版本在IOS平台中采用了AOT的处理方式,提前将C#代码静态编译为机器识别的二进制机器码。Unity引擎4.6之前的版本中IOS框架采用了Mono的AOT机制实现静态编译和处理,本文针对全局AOT模…...
Vue 3.0中自定义指令
自定义指令是增强 Vue 组件的重要手段。常见的内置指令有: v-if、v-show、v-model、v-bind、v-on等。 本文将详细讲解如何创建和使用自定义指令,关注以下几个关键点: 1. 指令的钩子函数:类似于生命周期钩子函数。 2. 指令钩子函…...
在 语义分割 和 图像分类 任务中,image、label 和 output 的形状会有所不同。
1. 图像分类 (Image Classification) 图像分类 任务是将整个图像分类为一个类别。通常,output 是对整个图像的类别的预测,而 label 是该图像的真实类别。 1.1 image 的形状 image 是输入图像数据,通常是一个四维张量: 形状&…...
C++面试4-sizeof解析
C++sizeof关键字的深度解析 一、本质认知:编译器的尺度 1. 编译期操作符的基因 int arr[5]; cout << sizeof(arr); // 输出20(假设int为4字节)非运行时特性:在编译阶段完成计算,不会生成任何机器指令表达式不求值:sizeof(++i)不会改变i的值类型感知:对类型名使…...

CyberSecAsia专访CertiK首席安全官:区块链行业亟需“安全优先”开发范式
近日,权威网络安全媒体CyberSecAsia发布了对CertiK首席安全官Wang Tielei博士的专访,双方围绕企业在进军区块链领域时所面临的关键安全风险与防御策略展开深入探讨。 Wang博士在采访中指出,跨链桥攻击、智能合约漏洞以及私钥管理不当&#x…...
uniapp如何设置uni.request可变请求ip地址
文章目录 简介方法一:直接在请求URL中嵌入变量方法二:使用全局变量方法三:使用环境变量方法四:服务端配置方法五:使用配置文件(如config.js):总结 简介 在uni-app中,uni.request 用…...

文件操作和IO-3 文件内容的读写
文件内容的读写——数据流 流是操作系统提供的概念,Java对操作系统的流进行了封装。 数据流就像水流,生生不息,绵延不断。 水流的特点:比如要100mL的水,可以一次接10mL,分10次接完,也可以一次接…...
架构的设计
搭建架构的最低前提 1.设计清晰: 需求文档: 有哪些界面 每个界面提够了哪些功能 这些功能是怎样操作的 会有哪些反馈 2.技术: 写架构的同学:这次项目设计的技术 都要有料及(用到的技术有哪些特点 有哪些缺点&…...

SpringAI 大模型应用开发篇-SpringAI 项目的新手入门知识
🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 1.0 SpringAI 概述 目前大模型应用开发最常见的框架就是 LangChain,然而 LangChain 是基于 Python 语言,虽然有 LangChain4j,但是对于大量使…...

编程速递-RAD Studio 12.3 Athens五月补丁:May Patch Available
编程速递-RAD Studio 12.3 Athens四月补丁:关注软件性能的开发者,安装此补丁十分必要 今天 (2025 年 5 月 19 日)Embarcadero 发布了 RAD Studio、Delphi 和 CBuilder 12.3 Athens(雅典)的第二个补丁。 RA…...
Vue3实现轮播表(表格滚动)
在这之前,写过一篇Vue2实现该效果的博文:vue-seamless-scroll(一个简单的基于vue.js的无缝滚动) 有兴趣也可以去看下,这篇是用vue3实现,其实很简单,目的是方便后面用到直接复制既可以了。 安装: <...
Python爬虫(33)Python爬虫高阶:动态页面破解与验证码OCR识别全流程实战
目录 一、技术背景与行业痛点二、核心技术与实现路径2.1 动态页面处理方案对比2.2 Selenium深度集成实践2.3 OCR验证码破解方案1. 预处理阶段:2. 识别阶段:3. 后处理阶段 三、典型应用场景解析3.1 电商价格监控系统1. 技术架构2. 实现效果 3.2 社交媒体舆…...

Matlab学习合集
1.变量 2.常见的数学函数 3. 向量 向量的创建: 直接创建:针对于数量少的情况 冒号法 函数创建:...