Hust oj 1926 函数式计算(二分)

2023-10-31 10:08
文章标签 函数 计算 二分 oj hust 1926

本文主要是介绍Hust oj 1926 函数式计算(二分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

函数式计算
Time Limit: 1000 MSMemory Limit: 32768 K
Total Submit: 267(62 users)Total Accepted: 71(58 users)Rating: Special Judge: No
Description
小辉是一个游戏天才,但是数学不太好,一天他遇到一个难题,请你帮他解决。这道题是这样,给你一个函数式 4*x^4+3*x^3+2*x^2+x=y 然后给出y,求x的值。
Input

有多组测试数据,输入的第一行是一个整数T(T<=1000)代表着测试数据的数量,接下来是T组测试数据。
接下来T行,每行一组输入整数y,0<=y<=100

Output

输出结果x(保留4位小数),如果答案有一个,则输出答案并换行;如果有多个,按从大到小的顺序输出,每个答案中间用空格隔开,最后换行。

Sample Input
1
1
Sample Output

0.3971 -0.8764

纯二分,卡精度

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;int t;double re(double f)
{return 4*f*f*f*f + 3*f*f*f + 2*f*f + f;
}
int main()
{double left,right,mid;double x,y;scanf("%d",&t);while(t--){scanf("%lf",&y);if(y == 0){printf("0.0000 -0.6058\n");continue;}left = 0;right = y;while(right - left >= 0.00001){mid = (right + left) / 2;if(re(mid) > y)right = mid;elseleft = mid;}printf("%.4lf ",left);left = -y;right = 0;while(right - left >= 0.00001){mid = (right + left) / 2;if(re(mid) > y)left = mid;elseright = mid;}printf("%.4lf\n",left);}
}


这篇关于Hust oj 1926 函数式计算(二分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/314584

相关文章

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

poj 3104 二分答案

题意: n件湿度为num的衣服,每秒钟自己可以蒸发掉1个湿度。 然而如果使用了暖炉,每秒可以烧掉k个湿度,但不计算蒸发了。 现在问这么多的衣服,怎么烧事件最短。 解析: 二分答案咯。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <c

poj 3258 二分最小值最大

题意: 有一些石头排成一条线,第一个和最后一个不能去掉。 其余的共可以去掉m块,要使去掉后石头间距的最小值最大。 解析: 二分石头,最小值最大。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <c