LightOJ - 1151

思路:

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

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

代码:

#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize(4)
#include<bits/stdc++.h>
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<LL, LL>
#define pli pair<LL, int>
#define pii pair<int, int>
#define piii pair<pii, int>
#define pdd pair<double, double>
#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);
//head const int N = ;
double A[N][N];
void Gauss(int n) {
for(int i = ; i < n; i ++) {
int r = i;
for(int j = i + ; j < n; j ++)
if(fabs(A[j][i]) > fabs(A[r][i])) r = j;
if(r != i) for(int j = ; j <= n; j ++) swap(A[r][j], A[i][j]); for(int j = n; j >= i; j --) {
for(int k = i + ; k < n; k ++)
A[k][j] -= A[k][i] / A[i][i] * A[i][j];
}
} for(int i = n - ; i >= ; i --) {
for(int j = i + ; j < n; j ++)
A[i][n] -= A[j][n] * A[i][j];
A[i][n] /= A[i][i];
}
}
int T, n, a, b, to[];
int main() {
scanf("%d", &T);
for(int cs = ; cs <= T; ++cs) {
scanf("%d", &n);
for (int i = ; i <= ; ++i) to[i] = ;
for (int i = ; i <= n; ++i) scanf("%d %d", &a, &b), to[a] = b; for (int i = ; i <= ; ++i) for (int j = ; j <= ; ++j) A[i][j] = ;
for (int i = ; i <= ; ++i) {
A[i-][i-] = ;
if(to[i]) {
A[i-][to[i]-] = -;
}
else {
int x = min(, -i);
for (int j = ; j <= x; ++j) {
A[i-][i+j-] = -1.0/x;
}
if(i < ) A[i-][] = 6.0/x;
}
}
Gauss();
printf("Case %d: %.10f\n", cs, A[][]);
}
return ;
}

最新文章

  1. Python高手之路【五】python基础之正则表达式
  2. 自定义jsp标签
  3. IIS 伪静态配置(安装ISAPI_Rewrite配置)
  4. jsonp跨域+ashx
  5. open_basedir restriction in effect,解决php引入文件权限问题
  6. GenerationType四中类型
  7. 痞子衡嵌入式:ARM Cortex-M文件那些事(8)- 镜像文件(.bin/.hex/.s19)
  8. 20175324 《Java程序设计》第4周学习总结
  9. Submine Text3格式化HTML/CSS/JS代码
  10. java基础学习总结——equals方法
  11. 2018-01-15 History in Threads: 火狐插件实现浏览历史按主题显示(树)
  12. java8之lambda表达式(2)-方法引用
  13. 20155305乔磊2016-2017-2《Java程序设计》第六周学习总结
  14. HiveQL之Database相关操作
  15. H5拖拽 构造拖拽及缩放 pdf文件转换为html预览
  16. X509证书申请以及PKCS#10 详解
  17. python requests https 访问出错
  18. Pku3673
  19. jxl.jar包,应该把它放在哪个文件下
  20. 下载好的AE模板怎么用

热门文章

  1. Net中实现HTML生成图片或PDF
  2. 乐字节Java反射之一:反射概念与获取反射源头class
  3. Java变量与数据类型之三:数据类型与转义字符
  4. [转帖]【JVM 知识体系框架总结】
  5. 如何安装Oracle--新手安装Oracle教程
  6. 【ZOJ】4012 Your Bridge is under Attack
  7. java中不常见的关键字:strictfp
  8. C++:盾神与条状项链
  9. Python 中集合使用
  10. APK反编译教程