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时最重要 ...
随机推荐
- router单页面多个标签tags的用法<router-view></router-view>
<keep-alive><router-view :key="path" /></keep-alive>
- [Codeforces] Alex and a Rhombus
A. Alex and a Rhombus time limit per test 1 second memory limit per test 256 megabytes input standar ...
- JS JQUERY实现滚动条自动滚到底的方法
$(function(){ var h = $(document).height()-$(window).height(); $(document).scrollTop(h); }); \ windo ...
- Dalvik虚拟机结构——1
Dalvik核心内容:libdvm.so 主要有C语言实现,依赖于Linux内核的一部分功能:线程机制,内存管理机制,每一个Android应有都对应一个dalvik实例 Dalvik虚拟机功能:主要 ...
- 解决在页面中无法获取qrcode.js生成的base64的图片
应用场景 生成带二维码的推广海报图片 旧方法: 将用户自己的推广连接先通过qrcode.js生成二维码,然后再用后台返回的一张背景图片和二维码通过canvas绘制成一张海报. 问题 在部分安卓手机上获 ...
- Mybatis如何插入空字段
出现异常:SQLException : 无效的类型: 1111 使用Mybatis插入一条记录,某字段设为null,出错 尝试将空的mgr属性插入到数据库,解决办法: 添加setting属性jdbcT ...
- JAVA Coder 的《深入分析Java Web 技术内幕》读书笔记
本文基于<深入分析Java Web 技术内幕> <深入分析Java Web 技术内幕>,作者是 许令波,电子工业出版社.本文只是记录书本当中的精彩部分,作个人回顾和技术分享,请 ...
- Django 之瀑布流实现
需求分析 现在是 "图片为王"的时代,在浏览一些网站时,经常会看到类似于这种满屏都是图片.图片大小不一,却按空间排列,就这是瀑布流布局. 以瀑布流形式布局,从数据库中取出图片 每次 ...
- eclipse 小提示
1.模糊提示插件 Code Recommenders alt+/ 模糊提示插件 Code Recommenders
- Java基础--static关键字
不管是平时阅读源代码,还是笔试.面试中,static关键字还是经常被问道,这篇文章主要来重新复习一下该关键字. 一.static用途 static方便在没有创建对象的时候调用方法或者变量. stati ...