POJ 3744:Scout YYF I 概率DP+特征方程+快速幂
题目链接:
http://poj.org/problem?id=3744
题意:
有个人要到一个叫“mine road”的地方,路线是一条直线,起点在1,路上有N个地雷,坐标在[1, 100000000]之间,这人每次有p(0.25≤p≤0.75)的概率向前走一步,且有1-p的概率向前走两步,问这货安全通过雷区到达"mine road"的概率
题解:
利用特征方程求出通项表达式,要走过有雷的地方f(n+1)=f(n-1)*(1-p). PS:也可以用矩阵快速幂做
关于特征方程
代码
/*代码略丑 勿喷*/
#include<stdio.h>
#include<math.h>
#include<algorithm>
using namespace std;
const int N=15;
double pow3(double a,long long b)
{if(b==0)return 0;double r=1,base=a;while(b!=0){if(b&1)r*=base;base*=base;b>>=1;}return r;
}
long long a[N],now;
int main()
{int n;double res,a1,a2,r1,r2,c1,c2,p;while(~scanf("%d%lf",&n,&p)){r1=p/2.0-sqrt(1.0-p+p*p/4);r2=p/2.0+sqrt(1.0-p+p*p/4);for(int i=0;i<n;++i)scanf("%lld",&a[i]);sort(a,a+n);now=1,res=1.0;for(int i=0;i<n;++i){a1=res,a2=res*p;c2=(a1*r1-a2)/(r1*r2-r2*r2);c1=(a1-c2*r2)/r1;res=(c1*pow3(r1,a[i]-now)+c2*pow3(r2,a[i]-now));res*=(1-p);now=a[i]+1;}printf("%.7f\n",res);}
}
转载于:https://www.cnblogs.com/kiuhghcsc/p/5550659.html
POJ 3744:Scout YYF I 概率DP+特征方程+快速幂相关推荐
- POJ 3744 Scout YYF I 期望dp
给出n≤10n\leq10n≤10个地雷,它们的位置在[1,1e8][1,1e8][1,1e8]之间.然后一个人从111出发,有PPP的概率走一步,有1−P1-P1−P的概率走两步.求问安全离开的雷区 ...
- POJ 3744(Scout YYF I )
题意: 从1开始每次有p的概率往前跳一步,1-p的概率跳两步.给定n个点以及它们的坐标,若跳到这些点上则算失败,求安全经过这些点的概率. 分析:容易推出 dp[i] = dp[i-1]*p + dp ...
- POJ 2778 DNA Sequence (自动机DP+矩阵快速幂)
题意:给出m个致病DNA片段,求长为n且不含致病片段的DNA序列共有多少种. 数据范围:0 <= m <= 10,1 <= n <=2000000000 这题初看起来与上一题差 ...
- 第九届河南省赛 宣传墙 //状压dp+矩阵快速幂+dfs
http://nyoj.top/problem/1273 状压dp+矩阵快速幂+dfs 1273-宣传墙 内存限制:64MB 时间限制:1000ms 特判: No 通过数:19 提交数:64 难度:4 ...
- Codeforces 621E Wet Shark and Block【dp + 矩阵快速幂】
题意: 有b个blocks,每个blocks都有n个相同的0~9的数字,如果从第一个block选1,从第二个block选2,那么就构成12,问对于给定的n,b有多少种构成方案使最后模x的余数为k. 分 ...
- 【BZOJ】4861: [Beijing2017]魔法咒语 AC自动机+DP+矩阵快速幂
[题意]给定n个原串和m个禁忌串,要求用原串集合能拼出的不含禁忌串且长度为L的串的数量.(60%)n,m<=50,L<=100.(40%)原串长度为1或2,L<=10^18. [算法 ...
- CCPC-Wannafly Comet OJ 夏季欢乐赛(2019)E.飞行棋(期望dp+矩阵快速幂)
题目 飞行棋的规则如下: 1.每名玩家有一个棋子,每个回合可以掷一次骰子. 2.如果使用的骰子为 k面,则这 k面上的点数分别为 1,2,3,-,k,且掷得每种点数的概率均为. 3.如果当前回合掷得 ...
- HDU5863 cjj's string game(DP + 矩阵快速幂)
题目 Source http://acm.split.hdu.edu.cn/showproblem.php?pid=5863 Description cjj has k kinds of charac ...
- BZOJ 4000: [TJOI2015]棋盘( 状压dp + 矩阵快速幂 )
状压dp, 然后转移都是一样的, 矩阵乘法+快速幂就行啦. O(logN*2^(3m)) ------------------------------------------------------- ...
最新文章
- android 之 ListView 里面嵌套 GridView 遇到的问题及其解决方法。
- Acwing第 42 场周赛【完结】
- python中列表 元组 字典 集合的区别
- mysql按升序创建索引_Mysql中的降序索引底层实现
- HDU2106 decimal system
- echarts 地图实现轮播(二)
- Software License Manager
- C# DatatTable某一列是否有重复判断
- [html] iOS下页面如何启动加载时显示画面图片?如何设置大小?它有什么好处?
- 2018最佳GAN论文回顾(上)
- JSTL与JAVA数据交互 pagecontext
- 计算机驱动空间的c盘不足怎么办,c盘空间不足
- 在CentOS5上用 rvm 部署Rails3应用
- 电脑电池,正确给笔记本电脑电池校正的技巧攻略
- 云服务器无法访问解决办法
- python中函数返回值为func 和func() 的区别
- JAVA初学者必备的基础书籍
- Flutter 解决App登录页面软键盘遮挡住登录按钮或顶起底部控件的问题
- 咸鱼带你学计算机网络—概论
- mysql闪_为什么mysql一闪而过的原因