bzoj4766 文藝計算姬

2022-05-02 05:27:08 字數 1044 閱讀 7381

"奮戰三星期,造台計算機"。小w響應號召,花了三星期造了臺文藝計算姬。文藝計算姬比普通計算機有更多的藝術細胞。普通計算機能計算乙個帶標號完全圖的生成樹個數,而文藝計算姬能計算乙個帶標號完全二分圖的生成樹個數。更具體地,給定乙個一邊點數為n,另一邊點數為m,共有n*m條邊的帶標號完全二分圖k_,計算姬能快速算出其生成樹個數。小w不知道計算姬算的對不對,你能幫助他嗎?

僅一行三個整數n,m,p,表示給出的完全二分圖k_

1 <= n,m,p <= 10^18

僅一行乙個整數,表示完全二分圖k_的生成樹個數,答案需要模p。

2 3 7

5正解:矩陣樹定理+快速冪+黑科技乘法。

很水的一道題。。用矩陣樹定理打表以後就發現$ans=m^*n^$,然後可以先快速冪然後黑科技乘法解決。

1

//it is made by wfj_2048~

2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include

14#define inf (1<<30)

15#define eps (1e-9)

16#define il inline

17#define rg register

18#define ll long long

19#define file(s) freopen(s".in","r",stdin),freopen(s".out","w",stdout)

2021

using

namespace

std;

2223

ll n,m,p;

2425

il ll mul(rg ll a,rg ll b)

2829

il ll qpow(rg ll a,rg ll b)

35return

ans;36}

3738

intmain()

bzoj4766 文藝計算姬

求乙個完全二分圖的生成樹個數 構造基爾霍夫矩陣的余子式,發現是這樣的 先用上面n 1行每一行都去加第n行。然後第n行變成n 1個m 1然後乙個1再來m 1個1 n 用下面m 1行每一行都去加第n行。然後第n行變成只有後m個位置是1。用第n行去加前n 1行,就把那堆 1消掉了。然後變成下三角矩陣,行列...

bzoj4766 文藝計算姬

今天七道題 5 7 定理,完全二分圖生成樹的個數是 nm 1mn 1然後就沒有然後了 聽說現場的很多大佬都是打了張表然後一行一行看出來的。好厲害啊我也學會了。結論題 include include define ll unsigned long long using namespace std ll...

BZOJ 4766 文藝計算姬

傳送門 題目描述 奮戰三星期,造台計算機 小 w 響應號召,花了三星期造了臺文藝計算姬。文藝計算姬比普通計算機有更多的藝術細胞。普通計算機能計算乙個帶標號完全圖的生成樹個數,而文藝計算姬能計算乙個帶標號完全二分圖的生成樹個數。更具體地,給定乙個一邊點數為 n nn,另一邊點數為 m mm,共有 n ...