设为首页 加入收藏

TOP

hdu 2899 hdu 3400 三分/几何
2015-07-20 17:31:49 来源: 作者: 【 】 浏览:3
Tags:hdu 2899 3400三分 几何

hdu2899 ;

水提,直接三分,其实求导后二分也可以。

#include
  
   
#include
   
     using namespace std; double y; double inline f( long double x) { return 6*x*x*x*x*x*x*x+8*x*x*x*x*x*x+7*x*x*x+5*x*x-y*x; } int main() { int T;scanf("%d",&T); while(T--) { cin>>y; double l,r,m1,m2; l=0;r=100; while(r-l>0.000001) { m1=l+(r-l)/3; m2=r-(r-l)/3; if(f(m1)
    
     

hdu3400 有俩个未知,第一次确定,则第二个函数式先见后增的,而第二个反馈出最小值后,第一个未知也是先见后增的,所以三分套三分(九分??呵呵~)

#include
      
       
#include
       
         #include
        
          using namespace std; struct xy { double x,y; }; double inline dis( xy a,xy b) { return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); } xy A,B,C,D; int p,q,r; double inline s(xy a ,xy b) { return dis(a,A)/p+dis(a,b)/r+dis(b,D)/q; } double f(xy t) { xy l,r,m1,m2; l=C;r=D; while(dis(r,l)>0.0001) { m1.x=l.x+(r.x-l.x)/3; m1.y=l.y+(r.y-l.y)/3; m2.x=r.x-(r.x-l.x)/3; m2.y=r.y-(r.y-l.y)/3; if(s(t,m1)
         
          0.0001) { m1.x=l.x+(r.x-l.x)/3; m1.y=l.y+(r.y-l.y)/3; m2.x=r.x-(r.x-l.x)/3; m2.y=r.y-(r.y-l.y)/3; if(f(m1)
          
           




】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Codeforces Round #271 (Div. 2) .. 下一篇编程之美2.12 快速寻找满足条件的..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·在 Redis 中如何查看 (2025-12-26 03:19:03)
·Redis在实际应用中, (2025-12-26 03:19:01)
·Redis配置中`require (2025-12-26 03:18:58)
·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)