每行之间有递推关系,一行之内有环形关系的转移
高斯消元解方程即可
直接进行高斯消元会超时
但是这个矩阵具有奇妙的性质:只有对角线和两侧有数
消元的次数非常少
单次操作可以看成是线性的

#include<bits/stdc++.h>
using namespace std;
#define rep(i,j,k) for(int i = j;i <= k;++i)
#define repp(i,j,k) for(int i = j;i >= k;--i)
int n , m;
int st,en;
double f[1001][1001];
double a[1001][1001],b[1001];
void gus(int x)
{rep(i,1,m-1){int j = i + 1;{double det = a[j][i] / a[i][i];rep(k,i,i+1) a[j][k] -= a[i][k] * det;b[j] -= b[i] * det;}}f[x][m] = b[m] / a[m][m];repp(i,m-1,1) f[x][i] = (b[i] - a[i][i+1]*f[x][i+1]) / a[i][i];
}
int main()
{freopen("in.in","r",stdin);freopen("out.out","w",stdout);scanf("%d%d%d%d",&n,&m,&st,&en);rep(i,1,m) f[n][i] = 0.0;repp(x,n-1,st){if(m == 1){a[1][1] = -1.0/2.0;b[1] = -1.0*f[x+1][1]/2-1.0;}else{a[1][1] = -2.0/3.0;a[1][2] = 1.0/3.0;b[1] = -1.0*f[x+1][1]/3-1.0;}     rep(i,2,m-1){a[i][i-1] = a[i][i+1] =1.0/4;a[i][i] = -3.0/4.0;b[i] = -1.0*f[x+1][i]/4-1.0;}if(m > 1) {a[m][m-1] = 1.0/3.0;a[m][m] = -2.0/3.0;b[m] = -1.0*f[x+1][m]/3-1.0;} gus(x);}printf("%.8lf",f[st][en]);return 0;
} 

codeforces24D(高斯消元)相关推荐

  1. Rocksdb Ribbon Filter : 结合 XOR-filter 以及 高斯消元算法 实现的 高效filter

    文章目录 前言 XOR-filter 实现原理 xor filter 的构造原理 xor filter 构造总结 XOR-filter 和 ADD-filter对比 XOR-filter 在计算上的优 ...

  2. poj 1681 Painter#39;s Problem(高斯消元)

    http://poj.org/problem? id=1681 求最少经过的步数使得输入的矩阵全变为y. 思路:高斯消元求出自由变元.然后枚举自由变元,求出最优值. 注意依据自由变元求其它解及求最优值 ...

  3. AC自动机 + 概率dp + 高斯消元 --- HDU 5955 or 2016年沈阳icpc H [AC自动机 + 概率dp + 高斯消元]详解

    题目链接 题目大意: 就是有NNN个人,每个人都会猜一个长度为LLL的只包含{1,2,3,4,5,6}\{1,2,3,4,5,6\}{1,2,3,4,5,6}的序列,现在裁判开始投掷骰子,并且把每次的 ...

  4. ICPC 2005 hangzhou Generator (UVA1358)KMP + 期望DP / 高斯消元

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Generator Weblink https://www.luogu.com.cn/problem/ ...

  5. 2020 ACM / ICPC 济南 A Matrix Equation (高斯消元、乘法原理)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 给你定义两种 010101 矩阵上的运算: Xi,j×Yi,j=(∑k=1NXi,kYk,j ...

  6. luogu P4035 [JSOI2008]球形空间产生器(高斯消元 / 模拟退火)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 数据范围只开到了10,而且是经典的力学结构,所以我们可以用模拟退火,可以做一下 nnn 维的正交分解h ...

  7. BZOJ 2707: [SDOI2012]走迷宫 [高斯消元 scc缩点]

    2707: [SDOI2012]走迷宫 题意:求s走到t期望步数,\(n \le 10^4\),保证\(|SCC| \le 100\) 求scc缩点,每个scc高斯消元,scc之间直接DP 注意每次清 ...

  8. [BZOJ 3143][Hnoi2013]游走(高斯消元+期望)

    Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点, ...

  9. [Sdoi2017]硬币游戏 [高斯消元 KMP]

    [Sdoi2017]硬币游戏 题意:硬币序列,H T等概率出现,\(n \le 300\)个人猜了一个长为$ m \le 300$的字符串,出现即获胜游戏结束.求每个人获胜概率 考场用了[1444: ...

最新文章

  1. 实例讲解之校园网病毒该如何铲除
  2. C# int.Parse()与int.TryParse():将字符串转化为整数
  3. [CSS] Use CSS Counters to Create Pure CSS Dynamic Lists
  4. Linux 下几款程序内存泄漏检查工具
  5. httppostedfilebase.saveas后文件被占用_文件过多时ls命令为什么会卡住?
  6. hdfs haadmin使用,DataNode动态上下线,NameNode状态切换管理,数据块的balance,HA下hdfs-api变化(来自学习资料)...
  7. Centos-显示文件类型-file
  8. python一二维数据的格式化和处理_python第七周,二维数据的格式化和处理
  9. 四川大学软件学院操作系统笔记
  10. 蓝牙抓包工具选择android,Android 蓝牙抓包
  11. 图像质量评价函数SSIM介绍
  12. php 分换算成元,千元换算成元(千元单位换算器)
  13. Echarts 实现 设备运行状态图 工业大数据展示
  14. 电子技术课设------交通灯信号控制器
  15. 【眼底图像数据集】视杯 视盘分割
  16. 动态内存分配算法:首次适应算法,循环首次适应算法,最坏适应算法,最佳适应算法实现
  17. C#实例.net_经典例子400个
  18. 企业实施PDM能解决这些问题
  19. 女人要男人真心还是现金?
  20. SOLID原理的详细信息。

热门文章

  1. devstack+ubuntu16.04 desktop版安装openstack S版手册
  2. ROS中的坐标系规定及数据单位
  3. 【安全牛学习笔记】POP3
  4. 多线程中线程池常见7个参数的详解以及执行流程
  5. 月二 周5 (前半写于周2)
  6. “核高基”重大专项取得阶段性成果
  7. SAP FI系统配置-资产相关
  8. 获取上一个交易日—python
  9. PPT动画中点击、之前、之后的区别
  10. CAPM 资本资产定价模型