【ZJOI2017 Round1练习&BZOJ4766】D1T2 文艺计算姬(Prufer编码)
题意:给定一个一边点数为n,另一边点数为m,共有n*m条边的带标号完全二分图K_{n,m},求其生成树个数 mod p。
100%的数据:1 <= n,m,p <= 10^18
思路:这是一道结论(打表找规律)+教你快速幂和乘法 题
结论为:S=n^(m-1)*m^(n-1)
需要注意的是n,m过大,普通的快速幂与乘法会炸
所以需要手写乘法,类似于快速幂的形式将其转换为加法
2017.2.28:%%%CC的证明:
设两边为X侧,Y侧
考虑它们在Prufer序列中出现的位置与取值种数
生成树的最后一条边一定链接一个X侧一个Y侧点
一个X侧点的插入就代表一个Y侧点被删除
因为最后只剩一个X侧点一个Y侧点
所以X侧点会出现M-1次,每次出现有N种取值,每个X侧点可以重复出现
所以对于X侧点有n^(m-1)种取值
Y侧点同理
得证
var n,m,mo:int64; function clac(x,y:int64):int64;
begin
clac:=;
while y> do
begin
if y and = then clac:=(clac+x) mod mo;
x:=(x+x) mod mo;
y:=y>>;
end;
end; function mult(x,y:int64):int64;
begin
mult:=;
while y> do
begin
if y and = then mult:=clac(mult,x) mod mo;
x:=clac(x,x) mod mo;
y:=y>>;
end;
end; begin
assign(input,'art.in'); reset(input);
assign(output,'art.out'); rewrite(output);
readln(n,m,mo);
writeln(clac(mult(n,m-),mult(m,n-)));
close(input);
close(output);
end.
【ZJOI2017 Round1练习&BZOJ4766】D1T2 文艺计算姬(Prufer编码)的更多相关文章
- 【BZOJ4766】文艺计算姬 [暴力]
文艺计算姬 Time Limit: 1 Sec Memory Limit: 128 MB[Submit][Status][Discuss] Description "奋战三星期,造台计算机 ...
- 【BZOJ4766】文艺计算姬(prufer序列)
点此看题面 大致题意: 让你求一个两边各有\(n\)和\(m\)个点的完全二分图有多少个生成树. \(prufer\)序列 这是一道比较经典的利用\(prufer\)序列结论求解答案的计数题. 大致思 ...
- 【BZOJ4766】文艺计算姬
让你求一个两边各有n和m个点的完全二分图有多少个生成树. 这是一道比较经典的利用prufer序列结论求解答案的计数题. 大致思路考虑一张二分图求解prufer序列,由于prufer序列求解时最后剩下的 ...
- BZOJ.4766.文艺计算姬(Prufer)
题目链接 这是完全二分图,那么在构造Prufer序列时,最后会剩下两个点,两点的边是连接两个集合的,这两个点自然分属两个集合 那么集合A被删了m-1次,每次从n个点中选:B被删了n-1次,每次都可以从 ...
- bzoj4766 文艺计算姬
Description "奋战三星期,造台计算机".小W响应号召,花了三星期造了台文艺计算姬.文艺计算姬比普通计算机有更多的艺术细胞.普通计算机能计算一个带标号完全图的生成树个数, ...
- BZOJ4766:文艺计算姬(矩阵树定理)
Description "奋战三星期,造台计算机".小W响应号召,花了三星期造了台文艺计算姬.文艺计算姬比普通计算机有更多的艺术细胞. 普通计算机能计算一个带标号完全图的生成树个数 ...
- [bzoj4766] 文艺计算姬 (矩阵树定理+二分图)
传送门 Description "奋战三星期,造台计算机".小W响应号召,花了三星期造了台文艺计算姬.文艺计算姬比普通计算机有更多的艺 术细胞.普通计算机能计算一个带标号完全图的生 ...
- 【BZOJ】4766: 文艺计算姬
[题目]给定两边节点数为n和m的完全二分图,求生成树数取模给定的p.n,m,p<=10^18. [算法]生成树计数(矩阵树定理) [题解]参考自 [bzoj4766]文艺计算姬 by WerKe ...
- bzoj 4766: 文艺计算姬 -- 快速乘
4766: 文艺计算姬 Time Limit: 1 Sec Memory Limit: 128 MB Description "奋战三星期,造台计算机".小W响应号召,花了三星期 ...
随机推荐
- [BZOJ2761][JLOI2011]不重复数字 暴力
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2761 直接暴力. #include<cstdio> #include<c ...
- js事件、Js中的for循环和事件的关系、this
一.js事件 1.事件 用户在网页中所触发的行为 鼠标滑动种类很多,键盘.表单特列: 点击:onclick 鼠标进入:onmouseenter 鼠标离开:onmouseleave 鼠标悬浮:onmo ...
- js中不容小觑的var声明
在学习vue相关课程中,有一次跟着老师敲代码,写出了如下代码: var Child = { template:`<div @click='handleClick'><slot> ...
- 【学习笔记】深入理解js原型和闭包(1)—— 一切都是对象
“一切都是对象”这句话的重点在于如何去理解“对象”这个概念. ——当然,也不是所有的都是对象,值类型就不是对象. 首先咱们还是先看看javascript中一个常用的运算符——typeof.typeof ...
- Java报表之JFreeChart
一.JFreeChart简介 JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications,servlets以及JSP等使用所设计. JFre ...
- DDR SDRAM
DDR SDRAM(Double Data Rate SDRAM)是一种高速CMOS.动态随机访问存储器, 它采用双倍数据速率结构来完成高速操作.应用在高速信号处理系统中, 需要缓存高速.大量的数据的 ...
- COGS 1743. 忠诚
★ 输入文件:faithful.in 输出文件:faithful.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] 老管家是一个聪明能干的人.他为财主工作了整整1 ...
- how to make a function from using global var to not using it
let say, we want to find the bottom left node in a tree.one way to do it is using global vars: /** * ...
- Qt 之 QApplication
1.QApplication QApplication类管理GUI程序的控制流和主要设置,是基于QWidget的,为此特化了QGuiApplication的一些功能,处理QWidget特有的初始化和结 ...
- Opencascade 选择器算法
算法的阶段 该算法包括预处理和三个主要阶段. 使用深度优先搜索逐层遍历所有对象 . 预处理 计算平截头体及其主要特征的计算. 第一阶段 - 遍历第一级BVH树 在成功构建选择平截头体之后,算法开始遍历 ...