先说说前面的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

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

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

随便玩玩系列之一:SPOJ-RNG+51nod 算法马拉松17F+51nod 1034 骨牌覆盖v3的更多相关文章

  1. 51NOD 算法马拉松8

    题目戳这里:51NOD算法马拉松8 某天晚上kpm在玩OSU!之余让我看一下B题...然后我就被坑进了51Nod... A.还是01串 水题..怎么乱写应该都可以.记个前缀和然后枚举就行了.时间复杂度 ...

  2. 51nod 算法马拉松 34 Problem D 区间求和2 (FFT加速卷积)

    题目链接  51nod 算法马拉松 34  Problem D 在这个题中$2$这个质数比较特殊,所以我们先特判$2$的情况,然后仅考虑大于等于$3$的奇数即可. 首先考虑任意一个点对$(i, j)$ ...

  3. 51Nod 算法马拉松21(迎新年)

    这次打算法马拉松是在星期五的晚上,发挥还算正常(废话,剩下的题都不会= =). 讲讲比赛经过吧. 8:00准时发题,拿到之后第一时间开始读. A配对,看上去像是二分图最大权匹配,一看范围吓傻了,先跳过 ...

  4. 51nod算法马拉松13

    A 取余最长路 不难发现路径可以拆成三条线段,只要知道两个转折点的位置就能计算出答案. 设sum(i,l,r)表示第i行从l到r元素的和,则答案可以表示为sum(1,1,x)+sum(2,x,y)+s ...

  5. 51Nod 算法马拉松15 记一次悲壮而又开心的骗分比赛

    OwO 故事的起源大概是zcg前天发现51Nod晚上有场马拉松,然后他就很开心的过去打了 神奇的故事就开始了: 晚上的时候我当时貌似正在写线段树?然后看见zcg一脸激动告诉我第一题有九个点直接输出B就 ...

  6. 51nod算法马拉松 contest7

    A题 链接:http://www.51nod.com/contest/problem.html#!problemId=1417 推荐链接:http://blog.csdn.net/a837199685 ...

  7. 51Nod 算法马拉松23 开黑记

    惨啊……虽然开了半天黑,但是还是被dalao们踩了…… 第二次开黑,还是被卡在rank20了,我好菜啊……= = 写一写比赛经过吧…… 看到题之后习惯性都打开,A~D看上去似乎并没有什么思路,F应该是 ...

  8. 51Nod 算法马拉松22 开黑记

    这是一场惨烈的开黑大战,始于全机房开黑指望刷进rank前十拿钱的壮志,终于被各路神犇怒踩成rank20,差点200点头盾不保的落魄,想起将近一年前ad和zcg等学长挤进rank10的壮举,不由得唏嘘, ...

  9. 51nod算法马拉松15

    智力彻底没有了...看来再也拿不到奖金了QAQ... A B君的游戏 因为数据是9B1L,所以我们可以hash试一下数据... #include<cstdio> #include<c ...

随机推荐

  1. LeetCode Sum of Two Integers

    原题链接在这里:https://leetcode.com/problems/sum-of-two-integers/ 题目: Calculate the sum of two integers a a ...

  2. HTML5--页面自动居中

    注意: margin:0 auto;/**0:上下    auto:左右**/ <html lang="en"> <head> <meta chars ...

  3. NDK开发-零散知识点整理

    JavaVM 标准Java平台下,每一个Process可以产生很多JavaVM对象,但在Android平台上,每一个Process只能产生一个Dalvik VM对象,也就是说在Android进程中是通 ...

  4. $.ajx的用法

    $.ajax({type:'post',//可选geturl:'action.php',//这里是接收数据的PHP程序data:'data='dsa'',//传给PHP的数据,多个参数用&连接 ...

  5. 我的第二个FluentNHibernate例子with Knockout

    在上一篇我的第一个FluentNHibernate例子的基础上,我们用上knockoutjs 1用nuget添加knockoutjs包 2用nuget添加json.net包 3..在Index.csh ...

  6. eBox(stm32) 之中断结构

    eBox的中断结构参考了mbed,和我们平时所用的中断结构有些差异,不容易理解,最近仔细看了底层代码,终于搞清楚了,总结一下         一  首先要要搞清楚的几个概念:类的静态成员,实例成员   ...

  7. (五)SQL入门 数据库查询

    什么是查询?查询就是Select语句对数据库的探究. 查询是一种目的,一种需求,一种期望.是Select语句去实现的.Select语句不是只是指select语句,而是多个子句一起使用得组合. sele ...

  8. Python实现冒泡排序

    array = [1,2,3,6,5,4] for i in range(len(array)): for j in range(i): if array[j] > array[j + 1]: ...

  9. Best Part

  10. 【实践】js实现简易的四则运算计算器

    最近看了一个大神推荐的某公司面试程序员的js 面试题,题目是用js 做一个计算器于是跟着大神的思想自己做了一下 ps:功能还没有完善好毕竟自己还是一只菜鸟还在不断学习中. 闲话不多说先上css代码 & ...