日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

●BZOJ 4596 [Shoi2016]黑暗前的幻想乡

發(fā)布時(shí)間:2025/6/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ●BZOJ 4596 [Shoi2016]黑暗前的幻想乡 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題鏈:

http://www.lydsy.com/JudgeOnline/problem.php?id=4596

題解:

容斥,矩陣樹(shù)定理,矩陣行列式


先說(shuō)說(shuō)容斥:(一共有 N-1個(gè)公司)
令 f[i] 表示選出 (N-1)-i 個(gè)公司來(lái)修路(即有i個(gè)公司一定不修),且不管每個(gè)公司只能修一條路這一限制的方案數(shù)。
那么 答案 ANS=0個(gè)公司不修的方案數(shù) - 1個(gè)公司不修的方案數(shù) +2個(gè)公司不修的翻案數(shù) ...
即 ANS= f[0] - f[1] +f[2] - ... + (-1)i*f[i]
f[i]的求法呢,就是先O(2N)枚舉公司集合情況,
然后用矩陣樹(shù)定理 O(N3) 求出當(dāng)前情況下的生成樹(shù)方案數(shù)。
另外再本題中,在構(gòu)造上三角矩陣用以求行列式時(shí),
既要避免小數(shù),還要不影響原矩陣的行列式的值,
所以采用輾轉(zhuǎn)相除的高斯消元法去構(gòu)造上三角矩陣。復(fù)雜度多一個(gè)(logN)
由矩陣行列式的性質(zhì)可知,這樣輾轉(zhuǎn)相除的高斯消元法不會(huì)影響行列式的絕對(duì)值,
只會(huì)影響符號(hào)位的正負(fù),所以統(tǒng)計(jì)一下正負(fù)號(hào)的變化就好了。
(還不會(huì)矩陣樹(shù)定理,看看這里,入門(mén)一波。)
所以總的時(shí)間復(fù)雜度為 O(2N*N3*logN)。
(都是這個(gè)復(fù)雜度,不曉得為什么我的代碼跑到這么慢,都?jí)|底了......)

代碼:

#include<cstdio> #include<cstring> #include<iostream> #define add(x,y) (((1ll*(x)+(y))%mod+mod)%mod) #define mul(x,y) (((1ll*(x)*(y))%mod+mod)%mod) #define filein(x) freopen(#x".in","r",stdin) #define fileout(x) freopen(#x".out","w",stdout) using namespace std; const int mod=1000000007; struct Matrix{int Val[20][20],*X[20],R,C;void Init(int r,int c){//r==cR=r; C=c;memset(Val,0,sizeof(Val));for(int i=1;i<=R;i++) X[i]=Val[i];}void Modify(int r,int c,int v){X[r][c]=add(X[r][c],v);}void operator =(const Matrix &rtm){Init(rtm.R,rtm.C);for(int i=1;i<=R;i++)for(int j=1;j<=C;j++)Val[i][j]=rtm.X[i][j];}Matrix operator -(const Matrix & rtm) const{Matrix now; now=*this;for(int i=1;i<=R;i++)for(int j=1;j<=C;j++)now.X[i][j]=add(now.X[i][j],-rtm.X[i][j]);return now;}void Gauss_Euclidean(int p,int &ti){//形成上三角矩陣 if(p==R-1) return;if(!X[p][p]) for(int i=p+1;i<R;i++) if(X[i][p]){swap(X[i],X[p]); ti++; break;}if(!X[p][p]) return;for(int i=p+1;i<R;i++){while(X[i][p]){int t=X[p][p]/X[i][p];for(int j=p;j<R;j++)X[p][j]=add(X[p][j],-mul(X[i][j],t));swap(X[p],X[i]); ti++;}}Gauss_Euclidean(p+1,ti);}int Determinant(){int ti=0,ans=1;Gauss_Euclidean(1,ti);for(int i=1;i<R;i++) ans=mul(ans,X[i][i]);if(ti&1) ans=mul(ans,-1);return ans;}void print(){for(int i=1;(i!=1?printf("\n"):0),i<=R;i++)for(int j=1;j<=R;j++)printf("%d ",X[i][j]);} }A,B,K; int cpy[20][500]; int ANS,N,tmp; void dfs(int p,int num){if(p>=N) return;//選for(int i=1,a,b;i<=2*cpy[p][0];i+=2){a=cpy[p][i]; b=cpy[p][i+1];A.Modify(a,a,1); A.Modify(b,b,1);B.Modify(a,b,1); B.Modify(b,a,1);}K=A-B; tmp=K.Determinant();if(((N-1)-(num+1))&1) tmp=mul(tmp,-1);ANS=add(ANS,tmp);dfs(p+1,num+1);//不選for(int i=1,a,b;i<=2*cpy[p][0];i+=2){a=cpy[p][i]; b=cpy[p][i+1];A.Modify(a,a,-1); A.Modify(b,b,-1);B.Modify(a,b,-1); B.Modify(b,a,-1);}dfs(p+1,num); } int main() {scanf("%d",&N);A.Init(N,N); B.Init(N,N);for(int i=1;i<=N-1;i++){scanf("%d",&cpy[i][0]);for(int j=1;j<=2*cpy[i][0];j++)scanf("%d",&cpy[i][j]);}dfs(1,0);printf("%d",ANS);return 0; }


?

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

總結(jié)

以上是生活随笔為你收集整理的●BZOJ 4596 [Shoi2016]黑暗前的幻想乡的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 亚洲成人资源 | 久色福利 | 国产日韩欧美精品在线 | a免费在线| 国产精品一区二区欧美 | 日本一区不卡视频 | 91国偷自产一区二区三区老熟女 | 以女性视角写的高h爽文 | 免费看黄色a级片 | 国产农村老头老太视频 | 91福利一区二区 | 97视频免费在线 | 各种含道具高h调教1v1男男 | 一本色道久久88综合日韩精品 | 日韩在线第三页 | 天天色天天射天天操 | 国产一区二区三区成人 | 亚洲一区二区三区在线免费观看 | 亚洲图区欧美 | 成人精品一区二区三区四区 | 国产人妻久久精品一区二区三区 | 高清视频免费在线观看 | 在线精品视频一区 | 粗大挺进潘金莲身体在线播放 | 3级av| 久久机热这里只有精品 | 91麻豆精品一二三区在线 | 免费网站观看www在线观 | a级黄色片免费看 | 欧美色88 | 深夜的私人秘书 | 你懂的视频在线播放 | 中文字幕系列 | 色网站免费看 | heyzo朝桐光一区二区 | 国产美女精品一区二区三区 | 一级黄色在线播放 | 成人免费xxxxx在线视频 | 男女www| 亚洲精品免费播放 | 国产91沙发系列 | 日韩欧美中文字幕在线观看 | 男人插入女人下面的视频 | 狠狠干狠狠撸 | 国产精品久久免费视频 | 免费毛片播放 | 成人性免费视频 | 久久入| 在线免费激情视频 | 男男啪啪无遮挡 | 青青草免费公开视频 | 九色国产精品 | 一区二区三区免费在线观看 | 久久伊人一区 | 色综合加勒比 | 成人无码精品1区2区3区免费看 | 狠狠干狠狠操 | 青青青视频在线播放 | 国产性爱精品视频 | 亚洲高清在线看 | 激情三级在线 | 久久久久亚洲av无码专区桃色 | 国产第三区 | 亚洲精品在线免费观看视频 | 福利在线免费观看 | 一级黄色片国产 | 国产又粗又猛视频 | 国产精品一区二区久久国产 | 综合久久国产 | 玖玖热视频 | 国产一区二区视频免费 | 天天看片天天射 | 欧美日本韩国一区二区三区 | 波多野结衣一本一道 | 黄色伊人| 久久人人超碰 | 六月色婷婷 | 免费的黄网站 | 成人免费看片&#39; | 调教驯服丰满美艳麻麻在线视频 | 国产精品99视频 | 白峰美羽在线播放 | 韩国一区二区三区四区 | 国产99久久久国产精品成人免费 | 色婷婷久久五月综合成人 | 日韩爱爱免费视频 | 五月婷婷激情小说 | 6090伦理| 成人免费毛片片v | 制服丝袜第一页在线观看 | 免费观看视频在线观看 | 成人激情综合 | 在线欧美日韩国产 | 性xxxx视频 | 激情综合啪啪 | 91精品人妻一区二区三区蜜桃2 | 怡春院一区二区 | 大香伊人久久 | 日韩精品久久久久久 |