高斯消元+期望dp——light1151
高斯消元弄了半天没弄对。。
#include<bits/stdc++.h>
using namespace std;
#define maxn 205
#define eps 1e-8
double A[maxn][maxn],x[maxn],ans[maxn];
int nxt[maxn],n;
#define a A
void guess(int n){ //行,列
for(int i=;i<n;i++){
if(a[i][i]==){//求主元的时候不能直接用swap进行交换
int id=;
for(int j=i+;j<=n;j++)
if(a[j][i]!=)
id=j;
for(int j=i;j<=n+;j++)
swap(a[i][j],a[id][j]);
}
for(int j=i+;j<=n;j++){//消下三角
double t=a[j][i]/a[i][i];
for(int k=i;k<=n+;k++)
a[j][k]-=(a[i][k]*t);
}
} for(int i=n;i>=;i--)
{
for(int j=i+;j<=n;j++)
a[i][n+]-=ans[j]*a[i][j];
ans[i]=a[i][n+]/a[i][i];
}
}
int main(){
int t;cin>>t;
for(int tt=;tt<=t;tt++){
int n;cin>>n;
memset(nxt,,sizeof nxt);
memset(A,,sizeof A);
for(int i=;i<n;i++){int x,y;cin>>x>>y;nxt[x]=y;}
for(int i=;i<;i++){//建立矩阵
if(nxt[i]){
A[i][i]=;
A[i][]=;
A[i][nxt[i]]=-;
}
else {
int k=;
for(int j=;i+j<= && j<=;j++){
k++;
A[i][i+j]=-;
}
A[i][i]=k,A[i][]=;
}
} A[][]=;A[][]=;
guess();
printf("Case %d: %.10lf\n",tt,ans[]);
}
return ;
}
高斯消元+期望dp——light1151的更多相关文章
- BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡(高斯消元+期望dp)
传送门 解题思路 设\(f(x)\)表示到\(x\)这个点的期望次数,那么转移方程为\(f(x)=\sum\frac{f(u)*(1 - \frac{p}{q})}{deg(u)}\),其中\(u\) ...
- Codeforces 446D - DZY Loves Games(高斯消元+期望 DP+矩阵快速幂)
Codeforces 题目传送门 & 洛谷题目传送门 神仙题,%%% 首先考虑所有格子都是陷阱格的情况,那显然就是一个矩阵快速幂,具体来说,设 \(f_{i,j}\) 表示走了 \(i\) 步 ...
- HDU2262;Where is the canteen(高斯消元+期望)
传送门 题意 给出一张图,LL从一个点等概率走到上下左右位置,询问LL从宿舍走到餐厅的步数期望 分析 该题是一道高斯消元+期望的题目 难点在于构造矩阵,我们发现以下结论 设某点走到餐厅的期望为Ek 1 ...
- BZOJ 2707: [SDOI2012]走迷宫 拓扑+高斯消元+期望概率dp+Tarjan
先Tarjan缩点 强连通分量里用高斯消元外面直接转移 注意删掉终点出边和拓扑 #include<cstdio> #include<cstring> #include<a ...
- BZOJ 2337: [HNOI2011]XOR和路径 [高斯消元 概率DP]
2337: [HNOI2011]XOR和路径 题意:一个边权无向连通图,每次等概率走向相连的点,求1到n的边权期望异或和 这道题和之前做过的高斯消元解方程组DP的题目不一样的是要求期望异或和,期望之间 ...
- CF113D 高斯消元、dp
题目链接 https://codeforces.com/contest/113/problem/D 思路 \(k[i]=\frac{1-p[i]}{ru[i]}\) f[i][j]表示经过i和j的次数 ...
- LightOJ 1151 - Snakes and Ladders 高斯消元+概率DP
首先来个期望的论文,讲的非常好,里面也提到了使用线性方程组求解,尤其适用于有向图的期望问题. 算法合集之<浅析竞赛中一类数学期望问题的解决方法> http://www.lightoj.co ...
- hdu4870 Rating (高斯消元或者dp)
Rating Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- [luogu2973]driving out the piggies 驱逐猪猡【高斯消元+概率DP】
看到题面的那一刻,我是绝望的ORZ 图论加概率期望加好像不沾边的高斯消元???我人直接傻掉 还没学过概率期望的我果断向题解屈服了(然后还是傻掉了两节课来找线性方程.. Description 奶牛们建 ...
随机推荐
- PAT_A1094#The Largest Generation
Source: PAT A1094 The Largest Generation (25 分) Description: A family hierarchy is usually presented ...
- Vmware Centos7 配置静态 ip 和 使宿主机和虚拟机互相 ping 通
NAT 方式1. 配置静态 ipVmware 安装 Centos7 可以参考 https://blog.csdn.net/guo_ridgepole/article/details/78973763 ...
- 【收集+】DDR5 vs DDR4
Advantages of Migrating to DDR5 DDR5 is the next evolution in DRAM, bringing a robust list of new fe ...
- 18-MySQL-Ubuntu-数据表的查询-连接(七)
students与classes表,两个表的连接字段是students.cls_id=classes.ID (1) 左连接:left join on 左边表全取,右边表取共有的,没有的为null se ...
- Deep Dive into Neo4j 3.5 Full Text Search
In this blog we will go over the Full Text Search capabilities available in the latest major release ...
- HTML_页面注册案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Apache Spark 2.2.0 中文文档 - Spark Streaming 编程指南
Spark Streaming 编程指南 概述 一个入门示例 基础概念 依赖 初始化 StreamingContext Discretized Streams (DStreams)(离散化流) Inp ...
- lds 文件说明
主要符号说明 OUTPUT_FORMAT(bfdname) 指定输出可执行文件格式. OUTPUT_ARCH(bfdname) 指定输出可执行文件所运行 CPU 平台 ENTRY(symbol) 指定 ...
- 关于 第三方接口支付的时候 采用post提交的方式,有两种 一种是通过 curl来进行,一种是通过js当页面加载完后跳转
这是第一种.通过javascript页面加载完后,对表单采用 post方式提交给 第三方接口----- echo <<<_END<!DOCTYPE html PUBLIC &q ...
- 有关axios的request与response拦截
// http request 拦截器 axios.interceptors.request.use( config => { var token = localStorage.getItem( ...