zoukankan      html  css  js  c++  java
  • HDU 5761 友谊的小船 (多校)

    题意:

    一人刚开始在(0,a)点,水速是v2(方向是x轴),船速是v1(方向任意),问到达(0,0)的最少时间?

    分析:

    这题当时队友过的,贴一下官方题解。

    首先这个题微分方程强解显然是可以的,但是可以发现如果设参比较巧妙就能得到很方便的做法。

    先分解v1v1

    Alt text

    设船到原点的距离是rr,容易列出方程

    drdt=v2cosθ−v1dtdr=v2cosθv1

    dxdt=v2−v1cosθdtdx=v2v1cosθ

    上下界都是清晰的,定积分一下:

    0−a=v2∫0Tcosθdt−v1T0a=v20Tcosθdtv1T

    0−0=v2T−v1∫0Tcosθdt00=v2Tv10Tcosθdt

    直接把第一个式子代到第二个里面

    v2T=v1v2(−a+v1T)v2T=v2v1(a+v1T)

    T=v1av12−v22T=v12v22v1a

    这样就很Simple地解完了,到达不了的情况就是v1<v2v1<v2(或者a>0a>0v1=v2v1=v2)。


    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int a,v1,v2;
        while(~scanf("%d%d%d",&a,&v1,&v2)){
            int x=a*v1;
            int y=v1*v1-v2*v2;
            if(a==0)puts("0");
            else if(y<=0)printf("Infinity
    ");
            else printf("%.10lf
    ",x*1.0/y);
    
        }
        return 0;
    }

  • 相关阅读:
    springboot 路由 json
    mybatis-plus 条件构造器 Wrapper
    mybatis-plus 逻辑删除
    mybatis-plus 分页查询
    mybatis-plus 乐观锁
    mybatis-plus 自动填充处理
    mybatis-plus 增删改查(普通)
    mybatis-plus 日志
    mybatis-plus 初识
    React项目如何打包发布及遇到的坑
  • 原文地址:https://www.cnblogs.com/01world/p/5762825.html
Copyright © 2011-2022 走看看