日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

BZOJ4031: [HEOI2015]小Z的房间

發(fā)布時(shí)間:2025/6/17 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ4031: [HEOI2015]小Z的房间 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

n,m<=9,n*m的網(wǎng)格圖,相鄰的.可連邊,問把所有的.連成一棵樹有多少方案,%1e9。

直接矩陣樹,然而高斯消元時(shí)模數(shù)不是質(zhì)數(shù)沒法直接除,所以利用行列式的性質(zhì),某一行乘某個(gè)數(shù)加到另一行上,這樣輾轉(zhuǎn)相除。

1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 #include<stdlib.h> 5 //#include<queue> 6 #include<math.h> 7 //#include<time.h> 8 //#include<iostream> 9 using namespace std; 10 11 int n,m,tot=0; 12 char mp[13][13]; 13 int mat[111][111],who[111][111]; 14 const int mod=1e9; 15 16 int gauss(int n) 17 { 18 for (int i=1;i<=n;i++) 19 for (int j=1;j<=n;j++) 20 mat[i][j]+=mat[i][j]<0?mod:0; 21 int ans=1; 22 for (int i=1;i<=n;i++) 23 for (int j=i+1;j<=n;j++) 24 { 25 int A=mat[i][i],B=mat[j][i]; 26 while (B) 27 { 28 int t=A/B; A%=B; swap(A,B); 29 for (int k=i;k<=n;k++) 30 mat[i][k]-=1ll*mat[j][k]*t%mod, 31 mat[i][k]+=mat[i][k]<0?mod:0; 32 for (int k=i;k<=n;k++) {int t=mat[j][k]; mat[j][k]=mat[i][k]; mat[i][k]=t;} 33 ans=ans==1?mod-1:1; 34 } 35 } 36 for (int i=1;i<=n;i++) ans=1ll*ans*mat[i][i]%mod; 37 return ans; 38 } 39 40 int main() 41 { 42 scanf("%d%d",&n,&m); 43 for (int i=1;i<=n;i++) scanf("%s",mp[i]+1); 44 for (int i=1;i<=n;i++) 45 for (int j=1;j<=m;j++) 46 if (mp[i][j]=='.') who[i][j]=++tot; 47 for (int i=1;i<=n;i++) 48 for (int j=1;j<=m;j++) 49 if (mp[i][j]=='.') 50 { 51 if (mp[i+1][j]=='.') mat[who[i][j]][who[i+1][j]]--,mat[who[i][j]][who[i][j]]++; 52 if (mp[i][j+1]=='.') mat[who[i][j]][who[i][j+1]]--,mat[who[i][j]][who[i][j]]++; 53 if (mp[i-1][j]=='.') mat[who[i][j]][who[i-1][j]]--,mat[who[i][j]][who[i][j]]++; 54 if (mp[i][j-1]=='.') mat[who[i][j]][who[i][j-1]]--,mat[who[i][j]][who[i][j]]++; 55 } 56 printf("%d\n",gauss(tot-1)); 57 return 0; 58 } View Code

?

轉(zhuǎn)載于:https://www.cnblogs.com/Blue233333/p/8133866.html

總結(jié)

以上是生活随笔為你收集整理的BZOJ4031: [HEOI2015]小Z的房间的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。