啊啊啊无脑背过果然不可取

比如这道题就不会写

参考:https://blog.csdn.net/iamzky/article/details/41317333

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
const int N=55;
const double eps=1e-7;
int n;
double a[N][N],tmp=1;
int cmp(double x)
{
return x<-eps?-1:x>eps;
}
double gaosi(int n)
{
double ans=1;
for(int i=1;i<=n;i++)
{
int nw=i;
for(int j=i+1;j<=n;j++)
if(fabs(a[j][i])>fabs(a[nw][i]))
nw=j;
for(int j=1;j<=n;j++)
swap(a[nw][j],a[i][j]);
for(int j=i+1;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;
}
if(!cmp(a[i][i]))
return 0;
ans*=a[i][i];
}
return fabs(ans);
}
int main()
{
scanf("%d\n",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
scanf("%lf",&a[i][j]);
if(i!=j)
{
if(a[i][j]>1-eps)
a[i][j]-=eps;
if(i<j)
tmp*=1.0-a[i][j];
a[i][j]=a[i][j]/(1-a[i][j]);
}
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(i!=j)
a[i][i]-=a[i][j];
printf("%.8f\n",gaosi(n-1)*tmp);
return 0;
}

bzoj 3534: [Sdoi2014]重建【矩阵树定理】的更多相关文章

  1. BZOJ3534:[SDOI2014]重建(矩阵树定理)

    Description T国有N个城市,用若干双向道路连接.一对城市之间至多存在一条道路. 在一次洪水之后,一些道路受损无法通行.虽然已经有人开始调查道路的损毁情况,但直到现在几乎没有消息传回. 幸运 ...

  2. [SDOI2014] 重建 - 矩阵树定理,概率期望

    #include <bits/stdc++.h> #define eps 1e-6 using namespace std; const int N = 55; namespace mat ...

  3. [bzoj 3534][Sdoi2014] 重建

    传送门 Description  T国有N个城市,用若干双向道路连接.一对城市之间至多存在一条道路. 在一次洪水之后,一些道路受损无法通行.虽然已经有人开始调查道路的损毁情况,但直到现在几乎没有消息传 ...

  4. BZOJ 3534: [Sdoi2014]重建(Matrix Tree)

    传送门 解题思路 比较容易看的出来矩阵树定理.然后就怒送一Wa,这个矩阵树定理是不能直接用的.题目要求的其实是这个玩意. \[ ans=\sum\limits_{Tree}( \prod\limits ...

  5. @总结 - 7@ 生成树计数 —— matrix - tree 定理(矩阵树定理)与 prüfer 序列

    目录 @0 - 参考资料@ @0.5 - 你所需要了解的线性代数知识@ @1 - 矩阵树定理主体@ @证明 part - 1@ @证明 part - 2@ @证明 part - 3@ @证明 part ...

  6. luoguP3317 [SDOI2014]重建 变元矩阵树定理 + 概率

    首先,我们需要求的是 $$\sum\limits_{Tree} \prod\limits_{E \in Tree} E(u, v) \prod\limits_{E \notin Tree} (1 - ...

  7. BZOJ3534 [Sdoi2014]重建 【矩阵树定理】

    题目 T国有N个城市,用若干双向道路连接.一对城市之间至多存在一条道路. 在一次洪水之后,一些道路受损无法通行.虽然已经有人开始调查道路的损毁情况,但直到现在几乎没有消息传回. 辛运的是,此前T国政府 ...

  8. [luoguP3317] [SDOI2014]重建(矩阵树定理)

    传送门 为了搞这个题又是学行列式,又是学基尔霍夫矩阵. 矩阵树定理 本题题解 无耻地直接发链接,反正我也是抄的题解.. #include <cstdio> #include <cma ...

  9. 【BZOJ3534】[SDOI2014] 重建(矩阵树定理)

    点此看题面 大致题意: 给你一张图,每条边有一定存在概率.求存在的图刚好为一棵树的概率. 矩阵树定理是什么 如果您不会矩阵树定理,可以看看蒟蒻的这篇博客:初学矩阵树定理. 矩阵树定理的应用 此题中,直 ...

随机推荐

  1. First C program

    come from https://mooc.study.163.com/learn/1000002011?tid=2001530003#/learn/content?type=detail& ...

  2. DD & E-app

    DD & E-app 企业内部开发的E应用 前端 demo https://github.com/open-dingtalk docs https://open-doc.dingtalk.co ...

  3. ABC077翻车实况

    今天强行打一波ABC,想作为信心赛,然而= = T1  日常练习读入&输出 T2  $STL$大法好,$sqrt$保平安,我强行递推$WA$了一圈,然后罚时++ T3  woc好难啊,$n=1 ...

  4. [ C++ 快速高精度模板 ] [ BigN类 ] 大整数类 高精度 模板 BigInt FFT 快速傅里叶变换

    [原创 转载请注明]瞎写的,如果代码有错,或者各位大佬有什么意见建议,望不吝赐教 更新日志: 对于规模较小的整数乘法使用$$O(n^2)$$方法,提高速度 modify()和operator[]的bu ...

  5. 显示锁ReentrantLock和Condition的使用

    一.ReentrantLock (1).java.util.concurrent.locks包中的ReentrantLock就是重入锁,它实现了Lock接口,Lock加锁和解锁都是显示的.Reentr ...

  6. hibernate详解一

    hibernate介绍 hibernate是一个开源的轻量级的框架, hibernate框架应用在javaee三层结构中的dao层框架,在dao层对数据库进行crud操作,使用hibernate框架实 ...

  7. HTTPS 是如何保证安全的?

    每当我们讨论到信息安全的时候,我们最长接触到的信息加密传输的方式莫过于 HTTPS 了,当我们浏览器地址栏闪现出绿色时,就代表着这个网站支持 HTTPS 的加密信息传输方式,并且你与它的连接确实被加密 ...

  8. SQL server 2008 添加,删除字段

    添加,刪除字段 如果要在数据表中添加一个字段,应该如何表示呢?下面就为您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识. 通用式: alter table [表名] add [ ...

  9. how to read openstack code

    本文的目的不是介绍openstack.我们这里假设你已经知道了openstack是什么,能够做什么.所以目的是介绍如何阅读openstack的代码.通过读代码来进一步学习openstack. 转载要求 ...

  10. mysql数据类型和java数据类型匹配

    Java数据类型和MySql数据类型对应一览 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java. ...