题意:给你n个雷的位置,问你从1的位置安全到达1000000的概率,分段处理 dp[i] = dp[i-1] * p + dp[i-2]*(1-p);dp[0] = 0,dp[1] = 1;

到达雷区 *(1-p)即可;

题解:矩阵乘法

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
double p;
int a[30];
struct Z{double m[2][2];
}s;Z k = {1,0,0,1
};
Z operator *(Z a , Z b){Z c;memset(c.m,0,sizeof(c.m));for(int i = 0;i < 2;i ++)for(int j = 0;j < 2;j++)for(int k = 0;k < 2;k++)c.m[i][j] = c.m[i][j] + a.m[i][k] * b.m[k][j];return c;
}Z Pow(int x){Z res;res = k;while(x){if(x&1) res = res * s;s = s * s;x >>= 1;}return res;
}
double solve(int num){if(num == 1) return 0;if(num == 2) return 1;if(num == 3) return p;s.m[0][0] = p;s.m[0][1] = 1.0 - p;s.m[1][0] = 1;s.m[1][1] = 0;num -= 3 ;Z r = Pow(num);return  r.m[0][0] * p + r.m[0][1] ;
}
int main(){int n;while(cin >> n >> p){for(int i = 1;i <= n;i++){cin >> a[i] ;}sort(a+1,a+n+1);a[0] = 0;double P = 1.0;for(int i = 1;i <= n;i++){P *= solve(a[i] - a[i-1]);P *= (1.0 - p);}printf("%.7lf\n",P);}return 0;
}

poj-Scout YYF I相关推荐

  1. POJ 3744:Scout YYF I 概率DP+特征方程+快速幂

    Scout YYF I 题目链接: http://poj.org/problem?id=3744 题意: 有个人要到一个叫"mine road"的地方,路线是一条直线,起点在1,路 ...

  2. 【POJ - 3744】Scout YYF I(概率dp,矩阵快速幂优化dp)

    题干: 题目大意: 在一条不满地雷的路上(无限长),你现在的起点在1处.在N个点处布有地雷,1<=N<=10.地雷点的可能坐标范围:[1,100000000]. 每次前进p的概率前进一步, ...

  3. POJ 3744(Scout YYF I )

    题意: 从1开始每次有p的概率往前跳一步,1-p的概率跳两步.给定n个点以及它们的坐标,若跳到这些点上则算失败,求安全经过这些点的概率. 分析:容易推出 dp[i] = dp[i-1]*p +  dp ...

  4. POJ 3744 Scout YYF I 期望dp

    给出n≤10n\leq10n≤10个地雷,它们的位置在[1,1e8][1,1e8][1,1e8]之间.然后一个人从111出发,有PPP的概率走一步,有1−P1-P1−P的概率走两步.求问安全离开的雷区 ...

  5. poj3744 Scout YYF I

    http://www.elijahqi.win/archives/3628 Description YYF is a couragous scout. Now he is on a dangerous ...

  6. 【POJ3744】Scout YYF I

    Description YYF是一个英勇的侦查员.现在他正在执行打入到敌方内部的危险任务.在解决了一系列的险情后,YYF到达了敌方著名的"地雷路"起始点.这条路非常长,上面被精心排 ...

  7. Scout YYF I

    /* 题意:一条路上有n个地雷,从1出发,每次可走一步或两步,走一步的概率为p,走两步的概率为1-p 思路:可以想到dp[i]=dp[i-2]*(1-p)+dp[i-1]*p,但是由于数据可能达到1e ...

  8. POJ3744 Scout YYF 题解

    题目链接 分析: 显然是一道概率DP 令fif_ifi​表示安全到达第iii格的概率,在不考虑地雷的情况下,显然有: f1=1,f2=p,fi=pfi−1+(1−p)fi−2(i>=3)f_1 ...

  9. POJ 计算几何入门题目推荐

      其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中.之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途(例如本人的专 ...

  10. poj计算几何题推荐

    POJ 计算几何入门题目推荐(转)       其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中.之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的 ...

最新文章

  1. 计算机ui答辩,KGUT1027 班级UI设计第一阶段成长答辩开始啦
  2. 【js】v-for 的一些用法 :class {{index}}
  3. PHP使用feof()函数读文件的方法
  4. lunix 命令积累
  5. python网络编程实例简析
  6. node --- 后端使用bcrypt对密码进行加密处理
  7. android 4.2以上版本永不休眠
  8. mysql创建的数据库在哪里_求助,mysql创建数据库找不到文件在哪问题
  9. Cloudera Manager 术语和架构
  10. Leangoo到底好在哪里?
  11. 从门外汉到 Go 圈网红技术博主的五年历程
  12. Web API-事件
  13. 学好WindowsServer技术的几大秘籍
  14. abaqus6.14安装教程 如何设置中文
  15. android+实时ping工具,安卓ping测试工具
  16. python实验原理_python实验报告5
  17. oracle加密表空间
  18. 涉密计算机怎么更新补丁,当需要将病毒库、系统补丁程序等导入到涉密信息系统时采用什么方式...
  19. 【win10】win10右键快速访问等文件夹导致资源浏览器崩溃的处理方法
  20. 欧洲上班族心碎:工作时网聊将无隐私可言

热门文章

  1. 神策用户画像 Demo 来了!(文末免费体验)
  2. 还在玩爬虫?告诉你如何进行用户画像!别人都数据分析建模了
  3. 软件的安装(包括yum仓库与源码包的安装)
  4. 《移动优先与响应式Web设计》一上册 移动优先
  5. LINUX_egrep及扩展正则表达式
  6. Android AsyncTask简单用法
  7. 加密解密技术—对称算法加密
  8. 诺基亚5800WIFI设置教程
  9. powerbi learning: look up table and data table
  10. 这样设置ae导出文件的时候m1还是能顶得住的,3分钟的事情渲染一个开场