2018.11.08 UVA11021 Tribles(概率dp)】的更多相关文章

传送门 概率dpdpdp简单题. 设f[i]f[i]f[i]表示第iii天的答案. 然后枚举ppp数组从fi−1f_{i-1}fi−1​转移过来就行了. 显然有fi=∑j=0npj∗(fi−1)jf_i=\sum_{j=0}^np_j*(f_{i-1})^jfi​=∑j=0n​pj​∗(fi−1​)j 代码: #include<bits/stdc++.h> using namespace std; const int N=1e3+5; int T,n,m,k,tmp; double p[N],…
题目传送门 题意:开始有$k$只兔子,每只都是活一天就死,每只死前都会有$pi$的概率生出$i$只兔子.求$m$天后兔子死光的概率. 思路: 设$f[i]$为一只兔子在第i天死完的概率,那么答案就是$f[m]^k$. 所以关键是求$f[i]$.     由全概率公式得到 $f[i]=p0+p1*f[i-1]+p2*f[i-1]^2+...+pn*f[i-1]^n$ 这个式子要怎么理解呢?p0是一只兔子第一天就死完的概率.p1是一只兔子在第一天生出了一只兔子,那么这种情况下在第i天死完的概率就是p…
题目链接: http://vjudge.net/problem/UVA-11021 Tribles Time Limit: 3000MS 题意 有k只麻球,每只活一天就会死亡,临死之前可能会出生一些新的麻球.生i个麻球的概率为pi,求m天后所有麻球死亡的概率.不足m天死光也算. 题解 每只麻球后代独立生存的,所以是独立概率. 设dp[i]表示一只麻球,i天后全部死亡的概率.有递推式: dp[i]=p0+p1dp[i-1]+p2dp[i-1]^2+...+pn-1*dp[i-1]^(n-1)) 最…
传送门 概率dp简单题. 设f[i][j]表示前i轮j获胜的概率. 如果j,k能够刚好在第i轮相遇,找规律可以发现j,k满足: (j−1)>>(i−1)" role="presentation" style="position: relative;">(j−1)>>(i−1)(j−1)>>(i−1)^1==(k−1)>>(i−1)" role="presentation"…
传送门 首先按照题意构造出转移矩阵. 然后可以矩阵快速幂求出答案. 但是直接做是O(n3qlogm)O(n^3qlogm)O(n3qlogm)的会TTT掉. 观察要求的东西发现我们只关系一行的答案. 于是倍增预处理出logloglog个矩阵每次变成O(n2)O(n^2)O(n2)转移. 代码…
题意:有 k 只小鸟,每只都只能活一天,但是每只都可以生出一些新的小鸟,生出 i 个小鸟的概率是 Pi,问你 m 天所有的小鸟都死亡的概率是多少. 析:先考虑只有一只小鸟,dp[i] 表示 i 天全部死亡的概率,那么 dpi] = P0 + P1*dp[i-1] + P2*dp[i-1]^2 + ... + Pn*dp[i-1]^(n-1),式子 Pjdp[i-1]^j 表示该小鸟生了 j 后代,,它们在 i-1 天死亡的概率是 dp[i-1],因为有 j 只,每只都是 dp[i-1],所以就是…
记忆化就可以搞定,比赛里都没做出来,真的是态度有问题啊... #include <iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ]; ]; ],n; double po(double a,int k) { double b = 1.0; while(k) { ) b = a*b; a = a*a; k = k/; } return b…
国内开发: 敏捷开发: 集中精力加班堆出来第一个版本 基本没啥大的bug 国外开发: 1).需求分析: 2).讨论 3).分模块 4).框架 5).画UML图(类图class function)(e-r图 数据库) 6). 编码 7).单元测试 程序猿 测试组: 集成测试(自动化测试工具),有黑盒和白盒,白盒知道其原理对症下药 lua是一种脚本语言, 轻量级. lua的用途: 1).cocos-2dx 2).lua作为后端 纯粹的lua语言 3).lua 用于热更新(unity里面直接做) 修改…
传送门 对于每个点离线处理出向上走2i2^i2i班车到的最上面的点. 然后每个询问(u,v)(u,v)(u,v)先把(u,v)(u,v)(u,v)倍增到刚好走不到lcalcalca的情况(有一个点如果就是lcalcalca直接特判) 然后考虑最后把(u′,v′)(u',v')(u′,v′)连起来需要走一次还是两次. 这个就是一个二维数点问题了. 用dfsdfsdfs序求出每个点管辖的子树表示的区间. 然后对于询问(a,b)(a,b)(a,b)在dfs到aaa时统计bbb子树的答案. 把aaa子树…
传送门 仔细读题会发现只要所有点点权之和等于0一定有解. 如何构造? 直接当做树来构造就行了,非树边都赋值成0就行. 代码…