BZOJ4766:文艺计算姬(矩阵树定理)
Description
Input
Output
Sample Input
Sample Output
Solution
首先先把(度数矩阵-邻接矩阵)搞出来,这里以样例为例。
$
\left\{
\begin{matrix}
3&0&-1&-1&-1\\
0&3&-1&-1&-1\\
-1&-1&2&0&0\\
-1&-1&0&2&0\\
-1&-1&0&0&2\\
\end{matrix}
\right\}
$
按照求矩阵树的方法随便删掉一行一列,这里删掉了最后一行和最后一列。
$
\left\{
\begin{matrix}
3&0&-1&-1\\
0&3&-1&-1\\
-1&-1&2&0\\
-1&-1&0&2\\
\end{matrix}
\right\}
$
把前$n-1$行和后$m-1$行都加到第$n$行
$
\left\{
\begin{matrix}
3&0&-1&-1\\
1&1&0&0\\
-1&-1&2&0\\
-1&-1&0&2\\
\end{matrix}
\right\}
$
用第$n$行的去加到后面$m-1$行上,把$-1$给消掉。
$
\left\{
\begin{matrix}
3&0&-1&-1\\
1&1&0&0\\
0&0&2&0\\
0&0&0&2\\
\end{matrix}
\right\}
$
这样的话这个矩阵的行列式显然就是$m^{n-1}n^{m-1}$了。
记得快速乘。
Code
#include<cstdio>
#define LL long long
using namespace std; LL n,m,p; LL Mul(LL a,LL b)
{
LL tmp=a*b-(LL)((long double)a*b/p+0.1)*p;
return tmp<?tmp+p:tmp;
} LL Qpow(LL a,LL b)
{
LL ans=;
while (b)
{
if (b&) ans=Mul(ans,a);
a=Mul(a,a); b>>=;
}
return ans;
} int main()
{
scanf("%lld%lld%lld",&n,&m,&p);
printf("%lld",Mul(Qpow(n,m-),Qpow(m,n-)));
}
BZOJ4766:文艺计算姬(矩阵树定理)的更多相关文章
- [bzoj4766] 文艺计算姬 (矩阵树定理+二分图)
传送门 Description "奋战三星期,造台计算机".小W响应号召,花了三星期造了台文艺计算姬.文艺计算姬比普通计算机有更多的艺 术细胞.普通计算机能计算一个带标号完全图的生 ...
- BZOJ 4766: 文艺计算姬 [矩阵树定理 快速乘]
传送门 题意: 给定一个一边点数为n,另一边点数为m,共有n*m条边的带标号完全二分图$K_{n,m}$ 求生成树个数 1 <= n,m,p <= 10^18 显然不能暴力上矩阵树定理 看 ...
- bzoj 4766: 文艺计算姬 矩阵树定理
题目: 给定一个一边点数为\(n\),另一边点数为\(m\),共有\(n*m\)条边的带标号完全二分图\(K_{n,m}\) 计算其生成树个数 \(n,m,p \leq 10^{18} ,p为模数\) ...
- bzoj4766 文艺计算姬
Description "奋战三星期,造台计算机".小W响应号召,花了三星期造了台文艺计算姬.文艺计算姬比普通计算机有更多的艺术细胞.普通计算机能计算一个带标号完全图的生成树个数, ...
- BZOJ4766: 文艺计算姬(Prufer序列)
题面 传送门 题解 结,结论题? 答案就是\(n^{m-1}m^{n-1}\) 我们考虑它的\(Prufer\)序列,最后剩下的两个点肯定是一个在左边一个在右边,设左边\(n\)个点,右边\(m\)个 ...
- Bzoj4766: 文艺计算姬(Matrix-tree/prufer)
BZOJ 答案就是 \(n^{m-1}m^{n-1}\) \(prufer\) 证明: \(n\) 中的数字出现 \(m-1\) 次,\(m\) 中出现 \(n-1\) 次,根据 \(prufer\) ...
- [bzoj4766]文艺计算姬——完全二分图生成树个数
Brief Description 求\(K_{n,m}\) Algorithm Design 首先我们有(Matrix Tree)定理,可以暴力生成几组答案,发现一些规律: \[K_{n,m} = ...
- 【BZOJ】4766: 文艺计算姬
[题目]给定两边节点数为n和m的完全二分图,求生成树数取模给定的p.n,m,p<=10^18. [算法]生成树计数(矩阵树定理) [题解]参考自 [bzoj4766]文艺计算姬 by WerKe ...
- 图论&数学:矩阵树定理
运用矩阵树定理进行生成树计数 给定一个n个点m条边的无向图,问生成树有多少种可能 直接套用矩阵树定理计算即可 矩阵树定理的描述如下: 首先读入无向图的邻接矩阵,u-v G[u][v]++ G[v][u ...
随机推荐
- VS 通用产品密钥
BWG7X-J98B3-W34RT-33B3R-JVYW9 HMGNV-WCYXV-X7G9W-YCX63-B98R2 HM6NR-QXX7C-DFW2Y-8B82K-WTYJV
- C#中利用LightningChart绘制曲线图表
最近在做一个“基于C#语言的电炉温控制软件设计”的设计,我在大学并不是专业学习C#语言编程的,对C#的学习研究完全是处于兴趣,所以编程技术也不是很厉害,遇到问题多参照网络上的开源码. 这不,在做这个课 ...
- AE开发
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- Linux应用调试-strace命令
1.strace简介 strace常用来跟踪进程执行时的系统调用和所接收的信号.通过strace可以知道应用程序打开了哪些文件,以及读写了什么内容,包括消耗的时间以及返回值等 2.安装strace命令 ...
- 素数回文(hdu1431)
素数回文 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- Android的Intent你知道多少?
https://blog.csdn.net/sinat_34383316/article/details/76039483 https://blog.csdn.net/u014492609/artic ...
- 漫画 | Redis常见面试问题(二)
上期,小知和阿音在进行面试问答,可是呢,还没问完小知就表示累了想休息一会,然后就休息去了,但是,以为这样就完了吗? 当然不是,还得继续啊,嘿嘿嘿 注:对于第一种,需要应用程序自己处理资源的同步,可以使 ...
- MySQL常用操作汇编
熟悉 我熟悉xxx,其实很多原来熟悉到能背的,如果长时间不用了几乎也就忘了.此时再说自己熟悉XXX就被认为是在吹牛B了,感觉不是很好.所谓温故而知新,对于天资不聪颖的,就是要在一遍一遍的复习实践中慢慢 ...
- BOM(JavaScript高程笔记)
再次编辑于20160115 一.window对象 双重角色 JS访问浏览器窗口的接口 ECAMAscript规定的Global对象 1.全局作用域 所有在全局作用域中声明的变量.函数都会变成windo ...
- js-jQuery性能优化(一)
来自于<锋利的jQuery> 1.使用最新版本的jQuery类库 jQuery每一个新的版本都会较上一版本进行BUG修复和一些优化,同时也会包含一些创新,所以建议使用最新版本的jQuery ...