
数学
cadongllas
这个作者很懒,什么都没留下…
展开
-
codeforces 696c 概率+快速幂
题目:三个杯子,物品一开始在中间的杯子里,在n此交换后,问物品在中间的杯子里的概率设Pn是n轮操作后中间杯子有钥匙的概率,则第n-1轮的时候,中间杯子里必须没钥匙,且有1/2的概率选到边上那个有钥匙的杯子。故:Pn=(1−Pn−1)/2我们可以用快速幂取模算法求出2^n mod (1e9+7),那么x可以通过减1再乘以3的乘法逆元求得,y可以通过乘以2的乘法逆元求得#i原创 2016-09-03 11:44:30 · 395 阅读 · 0 评论 -
lightoj 1265 概率
题意:在孤岛生存, 孤岛上有t头老虎,d头鹿,每天会出现随机出现两只生物(包括你自己),如果出现了一只老虎,那么你将被吃掉, 如果两只老虎, 则两只老虎会同归于尽,其他情况你都将生存下来。当孤岛上没有老虎时, 就视为你生存成功。问生存成功的最大概率如果t只老虎是一个奇数, 那么必然存活失败如果是偶数,两只老虎遇见的情况数:t * (t - 1)概率P = t * (t -原创 2016-09-03 13:21:51 · 398 阅读 · 0 评论 -
lightoj 1038 概率dp
题意:给出一个数字D我们可以选择1-D中可以被D整除的数字,然后用D出得到一个新的数字D‘;然后在找所有D’的因子,用D‘除,直到得到1;问除的次数的期望值设一个数的约数有m个,E[n] = E[a[1]]/m+E[a[2]]/m+...+E[a[m]]/m+1 (因为又除一次,所以+1)整理得:E[n]=(E[a[1]]+E[a[2]]+...+E[a[m原创 2016-09-03 13:33:31 · 231 阅读 · 0 评论 -
uva 11149
题意:给出矩阵,求前k次方和A^1+A^2+A^3+......A^n=(E+A^(n/2))*(A^1+A^2+.....A^(n/2))一个式子解决#include #include #include #include #define rep(i, j, k) for(int i = j; i <= k; i++)using namespace std;int原创 2016-09-03 14:01:18 · 383 阅读 · 0 评论 -
uva 10698 矩阵快速幂
题意:类似于fibonacci数列的求法,值得注意的是题目并不是让求简单的F(n),而是求f(n)模一个数直接矩阵快速幂就行,顺便模就行#include #include #include #include #define rep(i, j, k) for(int i = j; i <= k; i++)using namespace std;const int N原创 2016-09-03 14:04:43 · 257 阅读 · 0 评论 -
UVA 10698 Yet another Number Sequence 矩阵快速幂
题意:类似于fibonacci数列的求法,值得注意的是题目并不是让求简单的F(n),而是求f(n)的模直接矩阵快速幂就可以,顺便求模即可#include #include #include #include #define rep(i, j, k) for(int i = j; i <= k; i++)using namespace std;const int N = 2;原创 2016-09-03 14:31:35 · 289 阅读 · 0 评论 -
codeforces 166E Tetrahedron 数学题
题意:一个蚂蚁在正四面体的一个角,每秒都要移动一下去另外一个点,问n秒后又回到起点的方案数设f[i]是 i 秒后走到abc的方案数,g[i]表示 i 秒后走到d的方案数,所以g[i] = f[i - 1] * 3, f[i] = 2 * f[i- 1] + g[i - 1]#include #include #include #include #define rep(原创 2016-09-07 00:02:42 · 385 阅读 · 0 评论 -
codeforces 186C Plant
题意:每次把一个相反的(正倒相反)的三角形放到每个三角形中切割原来的图形,问n次切割后有多少个小三角形?公式题,忘记特判0的情况wa了很多次!!!以后一定要注意边界情况#include #include #include #include #include #include #define rep(i, j, k) for(int i = j; i <= k;原创 2016-09-07 00:27:23 · 344 阅读 · 0 评论 -
codeforces 186D Mushroom Scientists 不等式
http://codeforces.com/blog/entry/4488 还是直接看cf的题解吧am-gm不等式。。又学到了#include #include using namespace std;int main(){ double a,b,c,S; cin>>S; cin>>a>>b>>c; if(a+b+c!=0) printf原创 2016-09-08 15:53:44 · 332 阅读 · 0 评论