[luoguP3317] [SDOI2014]重建(矩阵树定理)
为了搞这个题又是学行列式,又是学基尔霍夫矩阵。
无耻地直接发链接,反正我也是抄的题解。。
#include <cstdio>
#include <cmath>
#include <iostream> using namespace std; int n;
double a[101][101];
double ans = 1, tmp = 1, eps = 1e-9; inline void gs()
{
int i, j, k;
double div;
for(j = 1; j < n; j++)
{
k = j;
for(i = j + 1; i < n; i++)
if(fabs(a[i][j]) > fabs(a[k][j])) k = i;
if(j != k) swap(a[j], a[k]);
if(fabs(a[j][j]) < eps)
{
ans = 0;
return;
}
for(i = j + 1; i < n; i++)
{
div = a[i][j] / a[j][j];
for(k = j; k < n; k++)
a[i][k] -= a[j][k] * div;
}
}
for(i = 1; i < n; i++) ans *= a[i][i];
ans = fabs(ans);
} int main()
{
int i, j;
scanf("%d", &n);
for(i = 1; i <= n; i++)
for(j = 1; j <= n; j++)
{
scanf("%lf", &a[i][j]);
if(fabs(a[i][j]) < eps) a[i][j] = eps;
if(fabs(1 - a[i][j]) < eps) a[i][j] = 1 - eps;
if(i < j) tmp *= 1.0 - a[i][j];
a[i][j] /= 1.0 - a[i][j];
}
for(i = 1; i <= n; i++)
{
a[i][i] = 0;
for(j = 1; j <= n; j++)
if(i != j)
{
a[i][i] += a[i][j];
a[i][j] = -a[i][j];
}
}
gs();
printf("%.5lf\n", ans * tmp);
return 0;
}
[luoguP3317] [SDOI2014]重建(矩阵树定理)的更多相关文章
- BZOJ3534:[SDOI2014]重建(矩阵树定理)
Description T国有N个城市,用若干双向道路连接.一对城市之间至多存在一条道路. 在一次洪水之后,一些道路受损无法通行.虽然已经有人开始调查道路的损毁情况,但直到现在几乎没有消息传回. 幸运 ...
- [SDOI2014] 重建 - 矩阵树定理,概率期望
#include <bits/stdc++.h> #define eps 1e-6 using namespace std; const int N = 55; namespace mat ...
- luoguP3317 [SDOI2014]重建 变元矩阵树定理 + 概率
首先,我们需要求的是 $$\sum\limits_{Tree} \prod\limits_{E \in Tree} E(u, v) \prod\limits_{E \notin Tree} (1 - ...
- BZOJ3534 [Sdoi2014]重建 【矩阵树定理】
题目 T国有N个城市,用若干双向道路连接.一对城市之间至多存在一条道路. 在一次洪水之后,一些道路受损无法通行.虽然已经有人开始调查道路的损毁情况,但直到现在几乎没有消息传回. 辛运的是,此前T国政府 ...
- 【BZOJ3534】[SDOI2014] 重建(矩阵树定理)
点此看题面 大致题意: 给你一张图,每条边有一定存在概率.求存在的图刚好为一棵树的概率. 矩阵树定理是什么 如果您不会矩阵树定理,可以看看蒟蒻的这篇博客:初学矩阵树定理. 矩阵树定理的应用 此题中,直 ...
- 【BZOJ3534】重建(矩阵树定理)
[BZOJ3534]重建(矩阵树定理) 题面 BZOJ 洛谷 题解 这.... 矩阵树定理神仙用法???? #include<iostream> #include<cmath> ...
- 【Luogu】P3317重建(高斯消元+矩阵树定理)
题目链接 因为这个专门跑去学了矩阵树定理和高斯消元qwq 不过不是很懂.所以这里只放题解 玫葵之蝶的题解 某未知dalao的矩阵树定理 代码 #include<cstdio> #inclu ...
- 【算法】Matrix - Tree 矩阵树定理 & 题目总结
最近集中学习了一下矩阵树定理,自己其实还是没有太明白原理(证明)类的东西,但想在这里总结一下应用中的一些细节,矩阵树定理的一些引申等等. 首先,矩阵树定理用于求解一个图上的生成树个数.实现方式是:\( ...
- @总结 - 7@ 生成树计数 —— matrix - tree 定理(矩阵树定理)与 prüfer 序列
目录 @0 - 参考资料@ @0.5 - 你所需要了解的线性代数知识@ @1 - 矩阵树定理主体@ @证明 part - 1@ @证明 part - 2@ @证明 part - 3@ @证明 part ...
随机推荐
- uvm_object ——太极
无极生太极——无名天地之始 太极生两仪——有名万物之母 文件: $UVM_HOME/src/base/uvm_object.svh 类: uvm_object The uvm_object cla ...
- SVN的两种存储方式FSFS和BDB比较【转】
版本库数据存储 在Subversion1.2中,版本库中存储数据有两种方式.一种是在Berkeley DB数据库中存储数据:另一种是使用普通的文件,使用自定义格式.因为Subversion的开发者称版 ...
- 反射机制与IOC容器
原文地址:http://blog.csdn.net/u010926964/article/details/47262771
- Spring @Transactional at interface
java - Where should I put @Transactional annotation: at an interface definition or at an implementin ...
- 安装PIL报错解析
开始安装PIL PIL只支持到python2.7,我安装的是python3.6版本,所以 不支持,报错 需要下载支持自己版本的包,下载地址https://www.lfd.uci.edu/~gohlk ...
- kubernetes添加不了google apt-key
转自icepoint的博客 key来源 我的百度云盘 密码:v3wo 下载kube_apt_key.gpg到本地,上传到服务器后执行下面的命令 apt-get update && ap ...
- Bootstrap教程简介
Bootstrap,来自Twitter,是目前最受欢迎的前端框架. Bootstrap是基于HTML. CSS. JAVASCRIPT的,它简洁灵活,使得Web开发更加便捷. 为什么要使用Bootst ...
- 低性能3张图片轮播React组件
import React from 'react'; import {getSwipeWay} from '../utils/swipe'; class Carousel extends React. ...
- 两种常见JS面向象写法
基于构造函数 function Circle(r) { this.r = r; } Circle.PI = 3.14159; Circle.prototype.area = function() { ...
- Bzoj 1083: [SCOI2005]繁忙的都市 (最小生成树)
Bzoj 1083: [SCOI2005]繁忙的都市 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1083 此题是最小瓶颈生成树的裸题. ...