题目大意:

  给一个n×m的网格,“.”表示可联通,求该网格可构成的生成树个数在1E9的剩余系中的结果。(n,m<=9)

题解:

  忘了删注释WA了两遍……

  直接建图+MartrixTree定理即可。

代码:

  

 #include "bits/stdc++.h"

 using namespace std;

 typedef long long ll;

 const int N=;

 ll a[N][N];

 int n,mod=1e9;

 inline ll det(){
ll res=;
for(int i=;i<n;++i){
if(!a[i][i]){
bool flag=false;
for(int j=i+;j<n;++j){
if(a[j][i]){
flag=true;
for(int k=i;k<n;++k) swap(a[i][k],a[j][k]);
res=-res;
break;
}
}
if(!flag) return ;
}
for(int j=i+;j<n;++j){
while(a[j][i]){
ll t=a[i][i]/a[j][i];
for(int k=i;k<n;++k){
a[i][k]=(a[i][k]-t*a[j][k])%mod;
swap(a[i][k],a[j][k]);
}
res=-res;
}
}
res*=a[i][i];
res%=mod;
}
if(res<) res+=mod;
return res;
} int main(){
int r,c;
scanf("%d%d",&r,&c);
char mp[][];
int s[][],xx[]={,,-,},
yy[]={,-,,};
memset(s,-,sizeof(s));
for(int i=;i<=r;++i)
scanf("%s",mp[i]+);
for(int i=;i<=r;++i)
for(int j=;j<=c;++j) if(mp[i][j]=='.')
s[i][j]=n++;
for(int i=;i<=r;++i)
for(int j=;j<=c;++j) if(s[i][j]!=-)
for(int k=;k<;++k){
int x=i+xx[k],y=j+yy[k];
if(x>&&y>&&x<=r&&y<=c){
if(s[x][y]!=-){
x=s[x][y],y=s[i][j];
a[x][y]=-,a[y][x]=-;
++a[y][y];
} }
}
--n;
printf("%lld\n",det());
}

【BZOJ 4031】: [HEOI2015]小Z的房间的更多相关文章

  1. bzoj 4031: [HEOI2015]小Z的房间 轮廓线dp

    4031: [HEOI2015]小Z的房间 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 98  Solved: 29[Submit][Status] ...

  2. BZOJ 4031: [HEOI2015]小Z的房间 高斯消元 MartixTree定理 辗转相除法

    4031: [HEOI2015]小Z的房间 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4031 Description 你突然有了一个 ...

  3. 【刷题】BZOJ 4031 [HEOI2015]小Z的房间

    Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子是一个房间或者是一个柱子.在一开始的时候,相邻的格子之间都有墙隔着. ...

  4. BZOJ 4031 [HEOI2015]小Z的房间(Matrix-Tree定理)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4031 [题目大意] 你突然有了一个大房子,房子里面有一些房间. 事实上,你的房子可以看 ...

  5. BZOJ 4031 HEOI2015 小Z的房间 基尔霍夫矩阵+行列式+高斯消元 (附带行列式小结)

    原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4031 Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可 ...

  6. BZOJ 4031: [HEOI2015]小Z的房间 Matrix-Tree定理

    题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=4031 题解: Matrix-tree定理解决生成树计数问题,其中用到高斯消元法求上三角矩 ...

  7. BZOJ:4031: [HEOI2015]小Z的房间

    Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1103  Solved: 536[Submit][Status][Discuss] Descripti ...

  8. BZOJ 4031: [HEOI2015]小Z的房间 [矩阵树定理 行列式取模]

    http://www.lydsy.com/JudgeOnline/problem.php?id=4031 裸题........ 问题在于模数是$10^9$ 我们发现消元的目的是让一个地方为0 辗转相除 ...

  9. BZOJ.4031.[HEOI2015]小Z的房间(Matrix Tree定理 辗转相除)

    题目链接 辗转相除解行列式的具体实现? 行列式的基本性质. //864kb 64ms //裸的Matrix Tree定理.练习一下用辗转相除解行列式.(因为模数不是质数,所以不能直接乘逆元来高斯消元. ...

  10. bzoj 4031: [HEOI2015]小Z的房间【矩阵树定理】

    是板子题,因为mod不是质数所以需要辗转相除然而并不知道为啥 高斯消元部分还不知道原理呢--先无脑背过的 #include<iostream> #include<cstdio> ...

随机推荐

  1. python之多继承与__mro__的使用

    1 class Base(object): def text(self): print('------text-----') class A(Base): def text(self): print( ...

  2. search a 2D matrix(在二维数组中搜索一个元素)

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  3. 三大框架:Struts+Hibernate+Spring

    三大框架:Struts+Hibernate+Spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作 ...

  4. SpringBoot使用Maven插件打包部署

    [问题] 之前一直用SpringBoot做一些小项目,想打包部署在环境上,总是少依赖包jar.百度下可以通过Spring Boot Maven plugin插件,把Maven配置的依赖包都打到项目包里 ...

  5. es6(六):module模块(export,import)

    es6之前,社区模块加载方案,主要是CommonJS(用于服务器)和AMD(用于浏览器) 而es6实现的模块解决方案完全可以替代CommonJS和AMD ES6模块设计思想:尽量静态化,在编译时就能确 ...

  6. Scala编程入门---函数过程,Lazy值和异常

    过程: 在Scala中,定义函数时,如果函数体直接包裹在花括号里面,而没有使用=连接,则函数的返回值类型就是Unit.这样的函数就被称之为过程. 过程通常用于不需要返回值类型的函数. 过程还有一种写法 ...

  7. Windows下配置vue的环境

    最近在学习vue.js,希望前端能用vue来作为主要框架.这里记录一下NPM在Windows中安装过程. 下载安装 下载地址 下载v6.11.0 LTS稳定版. 在C盘创建nodejs目录,并进行安装 ...

  8. 华为专家谈CMDB建设

    CMDB成功的关键因素 对于CMDB项目的失败,普遍的解释是:没有数据的消费场景.工具和技术不行.流程管控不足. 从我自身的实践来看,我对此是有不同看法的.上述原因的确会影响人们使用CMDB,严重时甚 ...

  9. UE4中如何使物体始终朝向摄像头?

    要使物体始终正面朝向摄像头需要用到一个关键节点:Find Look at Rotation 其中Start连接需要旋转的物体位置矢量,Target连接摄像头位置矢量 最后设置SetActorRotat ...

  10. JQuery(三)-- AJAX的深入理解以及JQuery的使用

    HTTP HTTP http: 超文本传输协议.特点:  简单.快速.灵活.无状态.无连接 URL: 统一资源定位符. 组成:协议名://主机IP:端口号/项目资源地址?传递参数的键值对#锚点 ①ip ...