• 随便玩玩系列之一:SPOJ-RNG+51nod 算法马拉松17F+51nod 1034 骨牌覆盖v3


    先说说前面的SPOJ-RNG吧,题意就是给n个数,x1,x2,...,xn 每次可以生成[-x1,x1]范围的浮点数,把n次这种操作生成的数之和加起来,为s,求s在[A,B]内的概率

    连续形的概率

    假设有3步,那整个分布范围相当于一个立体几何图形,上界b和下界a可当成一个x+y+z=a或b的平面看待,算出x<=X1 x>=-X1 y<=X2 y>=-X2 z<=X3 z>=-X3

    发现体积就是f(x1,x2,x3)+f(-x1,-x2,x3)+f(-x1,x2,-x3)+f(x1,-x2,-x3)-f(-x1,x2,x3)-f(-x1,x2,x3)-f(-x1,x2,x3)-f(-x1,-x2,-x3) (f(x1,y1,z1)指在不超上下界的前提下满足x<x1,y<y1,z<z1的所有连续点包含的体积,其实就是3条棱互相垂直的正三棱锥)

    这就容斥了,不管是几维的都可以,基本思想都是一样的,搞2^n个n维棱锥容斥就是了(2维的是4个等腰直角三角形,1维的是2条直线)

    然后就是悲催的算法马拉松17F题了。。。其实是道好题来的,只是出题人不知世界上还有这题,然后某大牛把思路理清后把答案直接搬了过来

    那题也是类似的,几个集合任意数之和,求覆盖概率

    虽说是离散+整型,其实数学思想跟上面的差不多

    把另一个人的区间反转,就成了[-rx,-lx]

    然后格式差不多

    只不过还要算出和等于0的部分,不过真心不是问题

    0平面由于都是与水平面、垂直面45度角的夹角,基本都是1/n!的系数

    由于还有横向、竖向平面的上下界,容斥一下,发现又是几个三棱锥的体积差

    至于怎么算出这些三棱锥的体积,其实答案就在互相垂直的棱上

    经典的1*2骨牌覆盖方案数问题。。。但由于是100*100,2^m会挂

    然后看那些大神证明的过程,好神奇啊

    过几天我也学下好了

    http://comet.51nod.com/answer/favorite.html?answerId=635&page=1

    https://en.wikipedia.org/wiki/FKT_algorithm

    http://blog.sina.com.cn/s/blog_6827adcf0100z7pj.html

    https://www.wikiwand.com/en/FKT_algorithm

    关于题目本身的问题。。。

    感觉就是用这个式,然后高精度+倍角公式+泰勒展开+和/差角公式乱搞

  • 相关阅读:
    JavaScript函数中的this四种绑定形式
    jQuery的html()、text()和val()的使用和区别
    iframe-父子-兄弟页面相互传值(jq和js两种方法)
    Spring Boot 嵌入式 Tomcat 文件上传、url 映射虚拟路径
    SpringMVC上传图片
    <iframe>和<frame>标签属性详解
    Mybatis 事物回滚最简单的操作方式
    SpringBoot配置log4j
    springboot整合redis(集群)
    Maven setting.xml简易配置
  • 原文地址:https://www.cnblogs.com/dgutfly/p/5944306.html
Copyright © 2020-2023  润新知