P1024 一元三次方程求解(递归式二分)

news/2024/7/5 3:29:57

整理的算法模板合集: ACM模板



我们判断两点(x)之间是否有根的依据是是否存在f(x)∗f(y)<0f(x) * f(y)<0f(x)f(y)<0
然后由于题目中说根于根之间的差的绝对值大于等于1,以及范围只有-100100所以我们可以直接枚举,每次+1,缩小范围,然后二分答案精确到0.001即可。

需要注意的是由于我们枚举的时候是从-100到100挨个枚举的所以我们在输出的时候l和r我们只能输出一个,因为一个输出以后另一个由于循环一定会再次到达这个点。所以我们枚举到99,只输出r(l = i, r = i + 1

#include<cstdio>
#include<cmath>
#include<algorithm>
#include<iostream>
#include<cstring>using namespace std;
typedef long long ll;
const int N = 200007;
const double eps = 1e-3;
//int a[N];
double a, b, c ,d;
int n, m;
double ans;double f(double x)
{return a * x * x * x + b * x * x + c * x + d;
}void solve(double l, double r)//二分x的坐标找那个点
{if(l + eps >= r){printf("%.2f ", l);return ;}double mid = (l + r) / 2.0;double ans_l, ans_r;//if(f(l) == 0)printf("%.2f ", l);if(f(mid) == 0)printf("%.2f ", mid);if(f(r) == 0)printf("%.2f ", r);ans_l = f(l) * f(mid);ans_r = f(r) * f(mid);if(ans_l < 0)solve(l, mid);else if(ans_r < 0)solve(mid, r);
}
//一元三次方程一个根的两端的小范围一定是单调的所以可以用二分
int main()
{scanf("%lf%lf%lf%lf", &a, &b, &c, &d);for(double i = -100; i <= 99; ++ i){if(f(i) * f(i + 1.0) <= 0){//缩小范围,小于0说明有根solve(i, i + 1.0);}}return 0;
}

http://lihuaxi.xjx100.cn/news/290432.html

相关文章

随想录一刷Day49——动态规划

文章目录Day49_动态规划32. 买卖股票的最佳时机33. 买卖股票的最佳时机 IIDay49_动态规划 32. 买卖股票的最佳时机 121. 买卖股票的最佳时机 思路一&#xff1a; 由于股票最多买入卖出一次&#xff0c;所以记录前面出现的最低股票价格&#xff0c;找到最低价格之后的最高价格…

0x32.数学知识 - 约数

目录一、约数定义算术基本定理的推论求NNN的正约数集合 - 试除法求1~N每个数的正约数集合 - 倍数法AcWing198. 反素数二、最大公约数最大公约数与最大公倍数更相减损术luogu P1072 &#xff08;NOIP2009&#xff09;Hankson的趣味题三、互质与欧拉函数三种方法求欧拉函数积性函…

陆奇要离职?先看看百度财报吧

作者 | 阿司匹林出品 | AI科技大本营&#xff08;公众号ID&#xff1a;rgznai100&#xff09;昨日下午&#xff08;4 月 26 日&#xff09;&#xff0c;百度集团总裁兼首席运营官陆奇和比亚迪董事局主席王传福一同出现在北京车展。然而&#xff0c;晚间就有消息传出来&#xff…

setTimeOut() 和 setTimeInterval()

setTimeOut()は、指定された時間「待ってから」指定された動作を行う関数です。setTimeOut():等待指定时间&#xff0c;执行指定方法。 setTimeInterval()は、指定された時間「間隔ごとに」指定された動作を行う関数です。setTimeInterval&#xff08;&#xff09;&#xff1a;…

【算法笔记】树链剖分

整理的算法模板合集&#xff1a; ACM模板 目录一些概念一些性质实现P3384 【模板】轻重链剖分树链剖分 一些概念 重儿子&#xff1a;父亲节点的所有儿子中子树结点数目最多&#xff08;size最大&#xff09;的结点&#xff1b;轻儿子&#xff1a;父亲节点中除了重儿子以外的儿…

手机AI、购物AI...还有哪个“AI+”被忽略了?

AI 技术似乎成了一把“万能钥匙”&#xff0c;捅进任何一个拥有数据的行业钥匙孔里&#xff0c;它都具有一定的适配能力。AI 应用在手机上&#xff0c;提升了图像识别和语音识别的效率&#xff1b;AI 应用在医疗影像中&#xff0c;可以辅助医生进行快速阅片诊断&#xff1b;AI …

【动态规划】区间DP - 最优矩阵链乘(另附POJ1651Multiplication Puzzle)

最优矩阵链乘&#xff08;动态规划&#xff09; 一个n∗mn*mn∗m的矩阵由 nnn 行 mmm 列共 n∗mn*mn∗m 排列而成。两个矩阵A和B可以相乘当且仅当A的列数等于B的行数。一个nm的矩阵乘mp的矩阵&#xff0c;运算量为nmp。 矩阵乘法不满足分配律&#xff0c;但满足结合律。因此A…

linux中实现pxe的自动安装

linux中实现pxe的自动安装 什么是PXE PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式&#xff0c;支持工作站通过网络从远端服务器下载映像&#xff0c;并由此支持来自网络的操作系统的启动过程&#xff0c;其启动过程中&#xf…