觉得浮夸了四年,漠然发现原来是浮躁了四年!

二分搜索(binary search ) problem(hdu 2199)

 problem link address :http://acm.hdu.edu.cn/showproblem.php?pid=2199

在顺序搜索的数组实现中,如果把分治思想思想应用于搜索过程,就会大大缩短搜索的总时间。

实现方法:把数据分为两部分,确定搜索关键字属于那一部分然后集中搜索这一部分,然后依次类推,每次把处理的部分分为两部分,因此,这种方法称为“二分法”。

关于本题:典型的二分查找。应为本题有明显的特征: 查找范围0~100,并且有唯一解。

复制代码
Code
 1 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 double ans(double a)
 5 {
 6     double s=8*a*a*a*a+7*a*a*a+2*a*a+3*a+6;
 7     return s;
 8 }
 9 int main()
10 {
11     int T;
12     cin>>T;
13     while(T--)
14     {
15         double num;
16         cin>>num;
17         if(num<ans(0)||num>ans(100))
18         {
19             cout<<"No solution!"<<endl;
20             continue;
21         }
22         double left=0;
23         double right=100;
24         while(left<right)
25         {
26             double mid=(right+left)/2.0;
27             double temp=ans(mid);
28             if(fabs(temp-num)<=1e-6)
29             {
30                 printf("%.4lf\n",mid);
31                 break;
32             }
33             else if(temp>num)
34                 right=mid;
35             else 
36                 left=mid;
37         }
38     
39     }    return 0;
40 }
41 
42 
43 
44 
45 
46         
复制代码

 

posted @   heat nan  阅读(138)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示