博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ4766: 文艺计算姬(Prufer序列)
阅读量:6715 次
发布时间:2019-06-25

本文共 875 字,大约阅读时间需要 2 分钟。

题面

题解

结,结论题?

答案就是\(n^{m-1}m^{n-1}\)

我们考虑它的\(Prufer\)序列,最后剩下的两个点肯定是一个在左边一个在右边,设左边\(n\)个点,右边\(m\)个点,\(Prufer\)序列中左边的点肯定出现了\(m-1\)次,右边的点出现了\(n-1\)次,那么就是上面那个了

听说这题可以手屠基尔霍夫矩阵做出来

//minamoto#include
#define R register#define ll long long#define ld long double#define inline __inline__ __attribute__((always_inline))#define fp(i,a,b) for(R int i=(a),I=(b)+1;i
I;--i)#define go(u) for(int i=head[u],v=e[i].v;i;i=e[i].nx,v=e[i].v)using namespace std;ll n,m,P;inline ll mul(R ll x,R ll y){ R ll tmp=x*y-(ll)((ld)x/P*y)*P; return tmp<0?tmp+P:tmp;}ll ksm(R ll x,R ll y){ R ll res=1; for(;y;y>>=1,x=mul(x,x))(y&1)?res=mul(res,x):0; return res;}int main(){// freopen("testdata.in","r",stdin); scanf("%lld%lld%lld",&n,&m,&P); printf("%lld\n",mul(ksm(n,m-1),ksm(m,n-1))); return 0;}

转载于:https://www.cnblogs.com/bztMinamoto/p/10717212.html

你可能感兴趣的文章
Android多线程源码详解一:handler、looper、message、messageQueue
查看>>
wordpress robot设置
查看>>
unity3d 中控制手机前后摄像头切换
查看>>
MyCAT核心配置详解
查看>>
selenium启动Chrome配置参数问题
查看>>
刚刚,2018年度中国科学十大进展正式发布!
查看>>
为什么游戏服务端用开发效率低的C++来写,其他语言无法胜任吗?
查看>>
Java开发——Redis云管理平台 实现方案CacheCloud 扫盲
查看>>
Apache NiFi 1.9.2 发布,数据处理和分发系统
查看>>
有哪些Java源代码看了后让你收获很多?
查看>>
设置input标签placeholder字体颜色
查看>>
跳出面向对象思想(一) 继承
查看>>
01 聚类算法 - 大纲
查看>>
为什么说“上云就上阿里云”
查看>>
tomcat配置文件详解
查看>>
iOS NSURLSession DownloadTask(下载任务)
查看>>
vue解决字段类型为数字导致单选不正确的问题
查看>>
Prometheus 2.0正式推出 性能提升带来质的飞跃
查看>>
WPF实现抽屉效果
查看>>
http2-浏览器支持的情况
查看>>