长沙理工大学第十二届ACM大赛 G 跑路 ing (概率dp)
来源:互联网 发布:谁发现了美洲大陆知乎 编辑:程序博客网 时间:2024/04/28 16:53
题目描述
vigoss18 辞职成功终于逃出了公司,但是没过太久,公司就发现vigoss18 的所作所为,于是派人来把他抓
回去。
vigoss18 必须一直跑路,躲避公司的围捕。可以抽象的看成一个有向图,图中可能存在重边和自环。
刚开始他站在位置1,每单位时间vigoss18 必须从目前站的位置,等概率选择一条边然后移动到对应的节
点上去或者不动(如果当前节点有t条边,则有1/(t+1)的概率选择一条边移动或者原地不动),可以认为每次需
要花费1 单位时间。
他就这样一直跑一直跑,过了很长很长的时间...
公司把你派出来寻找vigoss18,如果能抓到他,你将能升官发财赢取白富美走向人生巅峰。
但是你精力有限,不是太走的开身,所以写了一个程序,来计算vigoss18 在每个位置的概率,可以认为过
了很长时间以后,vigoss18 在每个位置的概率是收敛的。所以你需要告诉上司,他最可能在哪个位置(概率
最大的那个位置)。
你的上司并不想知道过程,他只想知道结果,所以你只需要告诉他这个概率最大是多少即可。
输入描述:
多组输入,保证绝大部分为小数据。每组输入第一行n m(1<=n<=100,1<=m<=10000),表示n个点m条有向边。接下来m行,每行u v(1<=u,v<=n),表示有一条有向边从u连向v
输出描述:
算出vigoss18在所有位置的概率,并输出其中的最大值即可。 你的答案与标准答案的误差应保持在1e-6以内。
示例1
概率dp
当步数达到一定值的时候达到收敛状态。
dp 步数 和 位置 数。
vector 存图 。
因为每次移动有 x + 1 种情况 /// x代表边数 还有可能静止不动
#include<stdio.h>#include<string.h>#include<vector>#include<algorithm>using namespace std;double dp[1005][105];vector<int>v[105];int main(){ int n,m; while(~scanf("%d%d",&n,&m)) { for(int i=1;i<=n;i++) v[i].clear(); int x,y; for(int i=1;i<=n;i++) { scanf("%d%d",&x,&y); v[x].push_back(y); } dp[0][1]=1; for(int i=1;i<=1000;i++) { for(int j=1;j<=n;j++) { int num=v[j].size(); dp[i][j]+=dp[i-1][j]/(num+1); for(int k=0;k<num;k++) { dp[i][v[j][k]]+=dp[i-1][j]/(num+1); } } } double res=0; for(int i=1;i<=n;i++) { res=max(res,dp[1000][i]); } printf("%.9f\n",res); }}
阅读全文
0 0
- 长沙理工大学第十二届ACM大赛 G 跑路 ing (概率dp)
- 长沙理工大学第12届ACM大赛 G-跑路ing(概率DP)
- 长沙理工大学第十二届ACM大赛 G.跑路ing【暴力】
- 长沙理工大学第十二届ACM大赛 K.大家一起来数二叉树吧【Dp】
- 长沙理工大学第十二届ACM大赛【9/12】
- 长沙理工大学第十二届ACM大赛 J 武藏牌牛奶促销
- 长沙理工大学第十二届ACM大赛 L 选择困难症 (优化点的暴力)
- 长沙理工大学第十二届ACM大赛 K 大家一起来数二叉树吧 (动态规划)
- 长沙理工大学第十二届ACM大赛 I.主持人的烦恼【贪心】
- 长沙理工大学第十二届ACM大赛 D 小M和天平
- 长沙理工大学第十二届ACM大赛 C 安卓图案解锁
- “师创杯”山东理工大学第九届ACM程序设计竞赛 正式赛 G.打字【Dp+贪心】水题
- 第七届河南理工大学程序设计大赛(正式赛)G题
- 【第八届河南理工大学程序设计大赛(正式赛)】 B E F G I J M
- 长沙理工第12届ACM大赛 L-选择困难症(折半枚举+二分)
- 河南理工大学程序设计(ACM)大赛解题报告
- 奇怪的二进制(长沙理工大学第十一届程序设计竞赛)
- 蛇形矩阵 (长沙理工大学第十一届程序设计竞赛)
- C#生成流水号编码[a-z(不包括i和o) 按0-9 a-z的顺序)]
- layer显示大图效果
- kettle启动报错‘A Java Exception has occurred.’
- Netty4实战第二章:第一个Netty应用
- 滴滴出行面试总结,(一面,后台开发C++)
- 长沙理工大学第十二届ACM大赛 G 跑路 ing (概率dp)
- jQuery为table表格动态添加或删除tr
- 基于vue-cli的vue项目之路由4--嵌套路由
- 【IIS】关于应用程序池中的托管管道模式
- Spring MVC 笔记
- Java技术常用设计模式(八)--- 适配器模式
- 微信开发前瞻笔记
- 高效的Android多线程编程(第一章:Android组件和使用多线程的必要性)
- Linux下Apache2的安装与配置