[BZOJ 4031] 小Z的房间
Link:
Solution:
矩阵树定理的模板题
看完下面两篇文章就会啦:
周冬论文:https://wenku.baidu.com/view/872eb02de2bd960590c677c6.html
WerKeyTom_FTD的严谨证明%%%:https://blog.csdn.net/WerKeyTom_FTD/article/details/54914530
Code:
//by NewErA
#include <bits/stdc++.h> using namespace std;
typedef long long ll;
const ll MOD=1e9; const int MAXN=*;
char dat[MAXN][MAXN];
ll pos[MAXN][MAXN],a[MAXN][MAXN],n,m,cnt=; int dx[]={,-,,};
int dy[]={,,,-}; ll det(ll x)
{
for(int i=;i<=x;i++)
for(int j=;j<=x;j++)
a[i][j]=(a[i][j]+MOD)%MOD;
ll ret=,f=;
for(int i=;i<=x;i++)
{
for(int j=i+;j<=x;j++)
{
ll A=a[i][i],B=a[j][i];
while(B!=)
{
ll t=A/B;A%=B;swap(A,B);
for(int k=i;k<=x;k++)
a[i][k]=(a[i][k]-t*a[j][k]%MOD+MOD)%MOD;
for(int k=i;k<=x;k++)
swap(a[i][k],a[j][k]);
f=-f;
}
}
if(!a[i][i]) return ;
ret=ret*a[i][i]%MOD;
}
if(f==-) return (-ret+MOD)%MOD;
else return ret%MOD;
} int main()
{
cin >> n >> m;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
cin >> dat[i][j];
if(dat[i][j]=='.') pos[i][j]=++cnt;
} for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
if(dat[i][j]=='.')
{
for(int k=;k<;k++)
{
int fx=i+dx[k],fy=j+dy[k];
if(fx< || fx>n || fy< || fy>m || dat[fx][fy]!='.') continue;
a[pos[i][j]][pos[i][j]]++;
a[pos[i][j]][pos[fx][fy]]--;
}
}
cout << det(cnt-);
return ;
}
[BZOJ 4031] 小Z的房间的更多相关文章
- bzoj 4031: 小Z的房间 矩阵树定理
bzoj 4031: 小Z的房间 矩阵树定理 题目: 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子是一个房间或者是一个柱子.在一开始的时 ...
- 【刷题】BZOJ 4031 [HEOI2015]小Z的房间
Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子是一个房间或者是一个柱子.在一开始的时候,相邻的格子之间都有墙隔着. ...
- [BZOJ 4031][LOJ 2122][HEOI 2015] 小Z的房间
[BZOJ 4031][LOJ 2122][HEOI 2015] 小Z的房间 题意 给定一个 \(n\times m\) 的矩阵, 一些格子是障碍, 相邻的格子(四联通)之间可以连边, 求把非障碍的格 ...
- bzoj 4031: [HEOI2015]小Z的房间 轮廓线dp
4031: [HEOI2015]小Z的房间 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 98 Solved: 29[Submit][Status] ...
- 【BZOJ 4031】 4031: [HEOI2015]小Z的房间 (Matrix-Tree Theorem)
4031: [HEOI2015]小Z的房间 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1089 Solved: 533 Description ...
- BZOJ 4031: [HEOI2015]小Z的房间 高斯消元 MartixTree定理 辗转相除法
4031: [HEOI2015]小Z的房间 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4031 Description 你突然有了一个 ...
- 【BZOJ-4031】小z的房间 Matrix-Tree定理 + 高斯消元解行列式
4031: [HEOI2015]小Z的房间 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 937 Solved: 456[Submit][Statu ...
- 【BZOJ4031】小Z的房间(矩阵树定理)
[BZOJ4031]小Z的房间(矩阵树定理) 题面 BZOJ 洛谷 Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子 ...
- [HEOI2015]小Z的房间 && [CQOI2018]社交网络
今天看了一下矩阵树定理,然后学了一下\(O(n ^ 3)\)的方法求行列式. 哦对了,所有的证明我都没看-- 这位大佬讲的好呀: [学习笔记]高斯消元.行列式.Matrix-Tree 矩阵树定理 关于 ...
随机推荐
- linux运维文章
运维中关键技术点解剖:1 大量高并发网站的设计方案 :2 高可靠.高可伸缩性网络架构设计:3 网站安全问题,如何避免被黑?4 南北互联问题,动态CDN解决方案:5 海量数据存储架构 一.什么是大型网站 ...
- PHP面向对象练习
练习内容:随机生成一个字符串 代码: <?phpclass randstring{ private $length; private $type; private $one = array(0, ...
- Python中的多线程编程,线程安全与锁(一)
1. 多线程编程与线程安全相关重要概念 在我的上篇博文 聊聊Python中的GIL 中,我们熟悉了几个特别重要的概念:GIL,线程,进程, 线程安全,原子操作. 以下是简单回顾,详细介绍请直接看聊聊P ...
- IE8专用hack
众所周知,ie6.7的hack直接用*即可,但是ie8的话就比较麻烦,在做半透明背景的时候,为了兼容ie6.7,可以为其设置纯色,但是ie8也同样不支持半透明,需要单独为它设置纯色背景.下面的兼容代码 ...
- [洛谷P4320]道路相遇
题目大意:基本同上一题[bzoj5329][Sdoi2018]战略游戏,只是每个点集内只有两个点,且只有一组询问而已.(双倍经验?我反正就直接改了一下代码就交了) 题解:同上一题(链接见“题目大意”) ...
- 用CSS模拟魔兽世界技能冷却的效果
效果演示 上面的效果看起来还不错吧.在网页里,除了用Flash,我们还是有不少方法可以实现它. 显然这种效果不复杂,一张背景图片,加上前面带有透明度的多边形图层,在脚本控制下就可以转起来了.但问题 ...
- 使用PowerShell登陆多台Windows,测试DCAgent方法
目标: 需要1台PC用域账户远程登陆10台PC,每台登陆后的PC执行发送敏感数据的操作后,再logoff. 在DCAgent服务器上,查看这10个用户每次登陆时,DCAgent是否能获取到登陆信息(I ...
- 手动编写一个简单的loadrunner脚本
loadrunner除了自动录制脚本外,还可以手动编写脚本,通过右键+inset step添加步骤,还可以手动添加事务,集合点等 下面是一个简单的Action脚本,服务是运行在本机的flask服务: ...
- What is a Microsoft Failover Cluster Virtual Adapter
What is a Microsoft Failover Cluster Virtual Adapter anyway? A question often asked is, "What i ...
- classes could not be found: - android.support.v7.internal.app.WindowDecorActionBar问题的解决方法
转载至----http://my.oschina.net/u/2425146/blog/546649?fromerr=aDYrFDVx.仅作个人收藏使用,有转载的朋友请连续原作者,谢谢 刚刚进入stu ...