博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LightOJ - 1151 Snakes and Ladders
阅读量:5337 次
发布时间:2019-06-15

本文共 1833 字,大约阅读时间需要 6 分钟。

思路:

将期望dp[x]看成自变量,那么递推式就可以看成方程组,用高斯消元求方程组的解就能求解出期望值

高斯消元求解的过程也是期望逆推的过程,注意边界情况的常数项,是6/d,不是1

代码:

#pragma GCC optimize(2)#pragma GCC optimize(3)#pragma GCC optimize(4)#include
using namespace std;#define y1 y11#define fi first#define se second#define pi acos(-1.0)#define LL long long//#define mp make_pair#define pb emplace_back#define ls rt<<1, l, m#define rs rt<<1|1, m+1, r#define ULL unsigned LL#define pll pair
#define pli pair
#define pii pair
#define piii pair
#define pdd pair
#define mem(a, b) memset(a, b, sizeof(a))#define debug(x) cerr << #x << " = " << x << "\n";#define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);//headconst int N = 105;double A[N][N];void Gauss(int n) { for(int i = 0; i < n; i ++) { int r = i; for(int j = i + 1; j < n; j ++) if(fabs(A[j][i]) > fabs(A[r][i])) r = j; if(r != i) for(int j = 0; j <= n; j ++) swap(A[r][j], A[i][j]); for(int j = n; j >= i; j --) { for(int k = i + 1; k < n; k ++) A[k][j] -= A[k][i] / A[i][i] * A[i][j]; } } for(int i = n - 1; i >= 0; i --) { for(int j = i + 1; j < n; j ++) A[i][n] -= A[j][n] * A[i][j]; A[i][n] /= A[i][i]; }}int T, n, a, b, to[105];int main() { scanf("%d", &T); for(int cs = 1; cs <= T; ++cs) { scanf("%d", &n); for (int i = 1; i <= 100; ++i) to[i] = 0; for (int i = 1; i <= n; ++i) scanf("%d %d", &a, &b), to[a] = b; for (int i = 0; i <= 100; ++i) for (int j = 0; j <= 100; ++j) A[i][j] = 0; for (int i = 1; i <= 100; ++i) { A[i-1][i-1] = 1; if(to[i]) { A[i-1][to[i]-1] = -1; } else { int x = min(6, 100-i); for (int j = 1; j <= x; ++j) { A[i-1][i+j-1] = -1.0/x; } if(i < 100) A[i-1][100] = 6.0/x; } } Gauss(100); printf("Case %d: %.10f\n", cs, A[0][100]); } return 0;}

 

转载于:https://www.cnblogs.com/widsom/p/11203088.html

你可能感兴趣的文章
ajax入门(复习)
查看>>
LeetCode:154. 寻找旋转排序数组中的最小值 II
查看>>
magento 安装
查看>>
《结对-HTML贪吃蛇游戏项目-测试过程》
查看>>
Python数据结构与语法
查看>>
UVA 1400 线段树
查看>>
C# ref
查看>>
接口API测试和返回值JSON解析的插件
查看>>
Shiro学习笔记
查看>>
Contest2195 - 2019-4-25 高一noip基础知识点 测试8 题解版
查看>>
EL表达式总结
查看>>
WCF的应用与说明
查看>>
JSON
查看>>
ibatis批量添加数据
查看>>
将 Shiro 作为应用的权限基础 二:基于SpringMVC实现的认证过程
查看>>
管理C++类中的指针成员
查看>>
生成函数与指数生成函数
查看>>
4.接口隔离原则(Interface Segregation Principle)
查看>>
wcf系列学习5天速成——第四天 wcf之分布式架构
查看>>
LeetCode "Maximum Product of Word Lengths"
查看>>