cogs 943. [東方S3] 铃仙•优昙华院•稻叶
二次联通门 : cogs 943. [東方S3] 铃仙•优昙华院•稻叶
/*
cogs 943. [東方S3] 铃仙·优昙华院·稻叶 概率dp 貌似做麻烦了
邻接矩阵和链式前向星都用上了。。。 dp[pos][i][j]表示 第i秒 在i点 上一个经过的点是j
方程:
dp[pos][i][j]=Σdp[pos-1][j][k]*(__out[j]+1-(map[j][k]==1))+dp[pos-1][i][j]*(__out[i]+1-(map[i][j]==1) 前面的求和考虑的是上一秒从其他的一个节点走过来
后面的考虑的是上一秒选择停留在原地 复杂度O(T * N^3) */
#include <cstdio> void read (int &now)
{
register char word = getchar ();
for (now = ; word < '' || word > ''; word = getchar ());
for (; word >= '' && word <= ''; now = now * + word - '', word = getchar ());
} #define Max 55
bool map[Max][Max];
int __out[Max * ]; double dp[Max * ][Max][Max]; int __next[Max * ];
int __to[Max * ]; int edge_list[Max * ];
int Edge_Count ; inline void AddEdge (int from, int to)
{
Edge_Count ++;
__next[Edge_Count] = edge_list[from];
__to[Edge_Count] = to;
edge_list[from] = Edge_Count; }
int main (int argc, char *argv[])
{
freopen ("reisen.in", "r", stdin);
freopen ("reisen.out", "w", stdout);
int N, M, T;
read (N);
read (M);
read (T);
int x, y;
for (register int i = ; i <= M; i ++)
{
read (x);
read (y);
map[x][y] = true;
__out[x] ++;
AddEdge (x, y);
}
dp[][][] = 1.00;
register bool flag;
for (register int pos = , i, j, Flan; pos <= T; pos ++)
for (i = ; i <= N; i ++)
for (j = ; j <= N; j ++)
if (dp[pos][i][j] > 0.00)
{
flag = false;
if (map[i][j])
flag = true;
for (Flan = edge_list[i]; Flan; Flan = __next[Flan])
{
if (__to[Flan] == j)
continue;
dp[pos + ][__to[Flan]][i] += dp[pos][i][j] * 1.00 / (double)(__out[i] + !flag);
}
dp[pos + ][i][j] += dp[pos][i][j] * 1.00 / (double)(__out[i] + !flag);
}
register double Answer; for (register int i = , j; i <= N; i ++)
{
Answer = 0.00;
for (j = ; j <= N; j ++)
Answer += dp[T][i][j];
printf ("%.3lf\n", Answer * );
}
return ;
}
cogs 943. [東方S3] 铃仙•优昙华院•稻叶的更多相关文章
- cogs 944. [東方S3] 藤原妹红
二次联通门 : cogs 944. [東方S3] 藤原妹红 /* cogs 944. [東方S3] 藤原妹红 最小生成树 + 树形dp 首先对原图跑最下生成树 后建出一棵树 在树上进行dp 先走到叶子 ...
- COGS 942. [東方S3] 比那名居天子
Problem 1 比那名居天子(tenshi.cpp/c/pas) 题目描述 在幻想乡,比那名居天子是管理着『要石』的天人.『要石』是能够引发和镇压地震的存在,当然也可以用来改变地形.因为在幻想乡引 ...
- [wikioi 1418]铃仙•优昙华院稻叶(东方幻想乡系列模拟赛)(树上递推)
题目:http://www.wikioi.com/problem/1418/ 分析: 一看就肯定是树上的递推 设f[i][j][k]表示第i秒在k点(从j点走过来的)的概率 则f[i][j][k]=f ...
- cogs 920. [東方S1] 琪露诺
二次联通门 : cogs 920. [東方S1] 琪露诺 /* cogs 920. [東方S1] 琪露诺 dp 方程为dp[i] = max (dp[i - L], dp[i - L + 1] ... ...
- cogs 997. [東方S2] 射命丸文
二次联通门 : cogs 997. [東方S2] 射命丸文 /* cogs 997. [東方S2] 射命丸文 二维前缀和 枚举每个子矩阵 更新最大值.. 莫名rank1 */ #include < ...
- cogs 998. [東方S2] 帕秋莉·诺蕾姬
二次联通门 : cogs 998. [東方S2] 帕秋莉·诺蕾姬 交上去后发现自己没上榜 就想着加点黑科技 把循环展开一下 结果WA了.. 万恶的姆Q /* cogs 998. [東方S2] 帕秋莉· ...
- cogs 999. [東方S2]雾雨魔理沙
二次联通门 : cogs 999. [東方S2]雾雨魔理沙 摸你傻赛高!! /* cogs 999. [東方S2]雾雨魔理沙 原来以为是一道计算几何的题 可是细细一想发现.. 这就是一道dp 由于给定 ...
- cogs 2569. [東方] 博丽灵梦 梦想妙珠
二次联通门 : cogs 2569. [東方] 博丽灵梦 梦想妙珠 /* cogs 2569. [東方] 博丽灵梦 梦想妙珠 莫队水过.. 好久没一遍AC了.. 卡线上榜2333 */ #includ ...
- java 覆盖hashCode()深入探讨 代码演示样例
java 翻盖hashCode()深入探讨 代码演示样例 package org.rui.collection2.hashcode; /** * 覆盖hashcode * 设计HashCode时最重要 ...
随机推荐
- Win10应用商城删除后部分应用出错的解决方案
出错图示 解决方案 查找完整包名:Get-AppxPackage -allusers | Select Name, PackageFullName Add-appxpackage -register ...
- 《即时消息技术剖析与实战》学习笔记3——IM系统如何保证消息的实时性
IM 技术经历过几次迭代升级,如图所示: 从简单.低效的短轮询逐步升级到相对效率可控的长轮询: 全双工的 Websocket 彻底解决了服务端的推送问题: 基于 TCP 长连接衍生的 IM 协议,能够 ...
- 如何在ASP.NET Core Web API中使用Mini Profiler
原文如何在ASP.NET Core Web API中使用Mini Profiler 由Anuraj发表于2019年11月25日星期一阅读时间:1分钟 ASPNETCoreMiniProfiler 这篇 ...
- Unable to connect to HBase using Phoenix JDBC Driver
Feb 01, 2017; 5:21pm Unable to connect to HBase using Phoenix JDBC Driver 9 posts Hi All, I am try ...
- SSRS连接ORACLE数据库制作报表
SSRS报表基于ORACLE数据库做报表示例. 开发环境:VS2010 SQL SERVER 数据库:SQL SERVER 2012 PS:数据库连接部分可能有还有个问题就是ORACLE数据源这一部分 ...
- codeforces#566(Div.2)B
B.Plus from Picture You have a given picture with size w×hw×h. Determine if the given picture has a ...
- 【转载】华为荣耀V9的手机录屏功能如何开启
手机录屏有时候对我们的帮助很大,例如可以录制相应的APP使用教程.微信小程序使用流量讲解视频等,针对于软件开发人员等来说,手机录屏功能针对功能演示视频非常的有帮助.在华为荣耀V9手机中,进行手机录屏有 ...
- XSS挑战之旅---游戏通关攻略
最近发现一个有趣的XSS闯关小游戏,游戏的作者是先知社区的大佬Mramydnei,喜欢XSS的大家可以一起来学习交流. 现在我把自己在前面的十八关里面的闯关过程记录一下,大神绕行,我是菜鸟,大家可以一 ...
- tail: inotify cannot be used, reverting to polling: Too many open files
tail -f catalina.out 出现警告: tail: inotify cannot be used, reverting to polling: Too many open files l ...
- Nginx + PHP 修改单次请求 最大执行时间
1. php.ini (usr/local/php/etc) max_execution_time = 2. php-fpm.conf (usr/local/php/etc) request_t ...