HDU3714 Error Curves
来源:互联网 发布:冷冰网络歌手 编辑:程序博客网 时间:2024/04/29 21:46
这道题为了写题解花了不少时间。。
卡精度。。
做法是三分。。
#include<stdio.h>struct fx{ double a,b,c;//这里要double的原因是防止testy的退化,一开始我就错在这里,要逐渐培养意识,不让这种低级错误发生!!!//}xishu[10010];int main(){ int T; scanf("%d",&T); while(T--) { int n; scanf("%d",&n); int i; for(i=1;i<=n;i++) scanf("%lf%lf%lf",&xishu[i].a,&xishu[i].b,&xishu[i].c); double left=0; double right=1000; double mid1,mid2; double testy; double ans; while(right-left>0.000000001)//这个数字是我wa好多次二分出来的..不能少一个0,但是愿意的话可以多加几个0// { mid1=(left+right)/2;//之所以除2,是因为满足精度。不然似乎在double范围内出不来答案。// mid2=(mid1+right)/2; double y1=-0x3f3f3f3f; double y2=-0x3f3f3f3f; for(i=1;i<=n;i++) { testy=xishu[i].a*mid1*mid1+xishu[i].b*mid1+xishu[i].c; if(testy>y1) y1=testy; testy=xishu[i].a*mid2*mid2+xishu[i].b*mid2+xishu[i].c; if(testy>y2) y2=testy; } if(y1>y2) left=mid1; else right=mid2; if(right-left<=0.000000001) ans=y2;//这里y1,y2无所谓的,因为精度确定了,一定在精度附近。// } printf("%.4lf\n",ans); } return 0;}
0 0
- HDU3714 Error Curves
- hdu3714 Error Curves---三分复习
- HDU3714 Error Curves (单峰函数)
- HDU3714:Error Curves(三分)
- 三分搜索--hdu3714 Error Curves
- 【hdu3714】Error Curves——二分
- HDU3714(Error Curves)三分求二次函数的极值
- HDU3714 Error Curves(2010 Asia Chengdu Regional Contest)
- Error Curves
- Error Curves
- Error Curves
- hdu3714
- hdu3714
- HDU3714
- hdu 3714 Error Curves
- HDU 3714 Error Curves
- hdu 3714 Error Curves
- hdu 3714 Error Curves
- python子进程模块subprocess详解与应用实例 之三
- 深度思考ref和out及其使用情景
- 知无涯者(The Man Who Knew Infinity)
- mongo之聚合
- 高通平台工作总结(一)
- HDU3714 Error Curves
- BitmapFactory.Options 图片解析
- remove()
- java 设计模式之六大原则
- linux中shell接受键盘输入
- android socket 编程 值得注意的地方
- PMP是什么
- assert 未定义的引用
- bzoj4407 于神之怒加强版 莫比乌斯函数