2.6

Posted shenbear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.6相关的知识,希望对你有一定的参考价值。

T1:

我们发现,答案就是每一条边的期望相加

然后就只要对每一条边单独算期望就好了

至于怎么算,那么我们可以分6种讨论:

px<=qy 全部都可以 

py<=qx 全都不行

如果区间有相交,那么它的期望就是每一段的期望*长度最后/总长度

然后就是每一段期望怎么求:

然后如果一段是全部在q之前,那么就是1

如果在后面,那么就是0

然后如果在中间的就是(首+尾)/2

对于单点,期望就是后面一个能碰到的长度/总长度

详细来说见代码:

il double zhi(double x,int y)
{
    return max((p[y]-x)/(p[y]-q[y]),0.0);
}
il double calc(int x,int y)
{
    if(p[x]<=q[y]) return 1;
    if(p[y]<=q[x]) return 0;
    double lx=p[x]-q[x],ly=p[y]-q[y];
    if(q[y]<=q[x]&&p[x]<=p[y]) return (zhi(q[x],y)+zhi(p[x],y))/2.0;
    if(q[x]<=q[y]&&p[x]<=p[y]) return ((q[y]-q[x])*1.0+(1.0+(zhi(p[x],y)))/2.0*(p[x]-q[y]))/lx;
    if(q[y]<=q[x]&&p[y]<=p[x]) 
    {
    //    printf("%lf %lf %lf
",zhi(q[x],y),zhi(p[y],y),p[y]-q[x]);
        return ((zhi(q[x],y)+zhi(p[y],y))/2*(p[y]-q[x]))/lx;
    }
    if(q[x]<=q[y]&&p[y]<=p[x]) return ((q[y]-q[x])*1.0+(p[y]-q[y])*0.5)/lx;
}

T2:

枚举所有方法,复杂度尾组合级,没分


 

T3:

直接爆搜时间在l~r的联通快,20分

以上是关于2.6的主要内容,如果未能解决你的问题,请参考以下文章

2.6 pycharm 常用快捷键

关于阿里云centos 2.6下手机表情输入后无法保存到mysql数据库的问题调研及mysql版本从5.1升级到5.7的全过程纪要

2.6 语句

北森完成2.6亿美金融资,一体化×低代码引领HR数字化风潮

Spring4.2.6+SpringMVC4.2.6+MyBatis3.4.0 整合

在 Play 框架 Java 2.6 中添加 Paypal 按钮