GYM - 101147 K.Touristic Trip
题意:
一个人从城市0开始旅行。一共有N座城市,他每到一座城市都会寄一张明信片。给出从一座城市到另一座城市的概率和在每座城市寄出每张明信片的概率。给出长度为k的寄明信片的序列。问在该序列的条件下在第Z个城市寄出第Q张明信片的序列。
题解:
条件概率:P(A|B) = P(A,B)/P(B)
dp[i][j]代表第i个城市是城市j且寄出第a[i]张明信片的概率。
dp[i][j] += sum{dp[i-1][k]*p[k][j]*c[j][a[i]}(0<=j<n)
P(B) = sum{dp[k-1][j]}(0,=j<n)
令dpp[Q][Z] = dp[Q][Z] dpp[Q][j] = 0(j!=Z)
后面dpp像dp一样算。
P(A,B) = sum{dpP[k-1][j]}(0,=j<n)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int t;
int n, m, k, q, z;
double p[][], c[][];
double dp[][], dpp[][];
int a[];
int main() {
freopen("trip.in","r",stdin);
scanf("%d", &t);
while(t--) {
memset(dp, , sizeof(dp));
memset(dpp, , sizeof(dpp));
scanf("%d%d%d%d%d", &n, &m, &k, &q, &z);
for(int i = ; i < n; i++)
for(int j = ; j < n; j++) scanf("%lf", &p[i][j]);
for(int i = ; i < n; i++)
for(int j = ; j < m; j++) scanf("%lf", &c[i][j]);
for(int i = ; i < k; i++) scanf("%d", &a[i]);
dp[][] = c[][a[]];
for(int i = ; i <= q; i++) {
for(int j = ; j < n; j++)
for(int k = ; k < n; k++)
dp[i][j] += dp[i-][k]*p[k][j]*c[j][a[i]];
}
dpp[q][z] = dp[q][z];
for(int i = q+; i < k; i++) {
for(int j = ; j < n; j++)
for(int k = ; k < n; k++) {
dp[i][j] += dp[i-][k]*p[k][j]*c[j][a[i]];
dpp[i][j] += dpp[i-][k]*p[k][j]*c[j][a[i]];
}
}
for(int i = ; i < n; i++) {
dp[k-][i] += dp[k-][i-];
dpp[k-][i] += dpp[k-][i-];
}
printf("%.3lf\n", dpp[k-][n-]/dp[k-][n-]);
}
}
GYM - 101147 K.Touristic Trip的更多相关文章
- gym/102021/K GCPC18 背包dp算不同数和的可能
gym/102021/K 题意: 给定n(n<=60)个直线 ,长度<=1000; 可以转化为取 计算 ans = (sum + 10 - g) / ( n + 1) 在小于5的条件下 ...
- Codeforces Gym 100187K K. Perpetuum Mobile 构造
K. Perpetuum Mobile Time Limit: 2 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100187/pro ...
- codeforces gym 100971 K Palindromization 思路
题目链接:http://codeforces.com/gym/100971/problem/K K. Palindromization time limit per test 2.0 s memory ...
- CF gym 101933 K King's Colors —— 二项式反演
题目:http://codeforces.com/gym/101933/problem/K 其实每个点的颜色只要和父亲不一样即可: 所以至多 i 种颜色就是 \( i * (i-1)^{n-1} \) ...
- Gym - 100283K K. Cubes Shuffling —— 贪心
题目链接:http://codeforces.com/gym/100283/problem/K 题解: 要使其相邻两项的差值之和最小,那么越靠中间,其数值越小. 那么剩下的问题就是如何放数字了.一开始 ...
- 【Gym 100947E】Qwerty78 Trip(组合数取模/费马小定理)
从(1,1)到(n,m),每次向右或向下走一步,,不能经过(x,y),求走的方案数取模.可以经过(x,y)则相当于m+n步里面选n步必须向下走,方案数为 C((m−1)+(n−1),n−1) 再考虑其 ...
- Codeforces Gym 100523K K - Cross Spider 计算几何,判断是否n点共面
K - Cross SpiderTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/v ...
- GYM - 101147 J.Whistle's New Car
题意: 给出一颗有点权和边权的树.求每一个点u的子树中有多少点v,使得点v到点u的距离小于等于点v的权值. 题解: 对于每一个点,倍增的预处理出他的祖宗节点及距离.根据预处理的结果求出每个点能到的最远 ...
- GYM - 101147 F.Bishops Alliance
题意: 一个n*n的棋盘,有m个主教.每个主教都有自己的权值p.给出一个值C,在棋盘中找到一个最大点集.这个点集中的点在同一条对角线上且对于点集中任意两点(i,j),i和j之间的主教数(包括i,j)不 ...
随机推荐
- 牛客小白月赛2 E 是是非非 【尼姆博弈】
链接:https://www.nowcoder.com/acm/contest/86/E来源:牛客网 题目描述 坎为水,险阳失道,渊深不测:离为火,依附团结,光明绚丽. 坎卦:水洊至,习坎:君子以常德 ...
- 【赛时总结】 ◇赛时·IV◇ CODE FESTIVAL 2017 Final
◇赛时-IV◇ CODE FESTIVAL 2017 Final □唠叨□ ①--浓浓的 Festival 气氛 ②看到这个比赛比较特别,我就看了一看--看到粉粉的界面突然开心,所以就做了一下 `(* ...
- kickstart+pxe+tftp+ntp(http)自动化安装平台的搭建
听说过"克隆"吗,对于这个科技术语20年前可能还很陌生,羊可以克隆,通过基因dna序列:机器同样可以克隆通过网络IP! 如下为自动化安装平台: PXE(preboot execut ...
- IDEA 工具项目的配置及如何打war包
1. Project Structure 1.1 首先点击File-ProjectStructure,进入项目配置: 2.Project Settings配置 2.1 Project 2.1.1 f ...
- python -- 输出异常详细信息
在使用try: except: 捕获异常后,想要获取到异常信息的详细内容另做它用,可以使用python的内置模块traceback进行获取. traceback.print_exc() 直接打印异 ...
- https://www.cnblogs.com/gaoxiang12/p/3695962.html
https://www.cnblogs.com/gaoxiang12/p/3695962.html
- IDA 对 SO 的逆向
ApkTool对apk进行解包,在解包后的lib目录中找到so文件 so文件大概有以下几种 armeabi: 第5代.第6代的ARM处理器,早期的手机用的比较多. armeabiv-v7a:第7代及以 ...
- 自定义注解不能拦截controller层
1,首先在springMVC的配置文件中,webapp/WEB-INF/servlet.xml,加上AOP的相关内容: <beans xmlns="http://www.springf ...
- js双轴柱状图
<!doctype html><html lang="en"><head> <script type="text/javascr ...
- cocos2d-x 3.0 Node与Node层级结构
节点解释: 节点是场景图的基本元素.场景图的基本元素必须是节点对象或者是节点对象的子类. 其中主要可以看到Layer.MenuItem.Scene.Sprite.TMXTiledMap(解析and渲染 ...