博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[bzoj1430]小猴打架_prufer序列
阅读量:4365 次
发布时间:2019-06-07

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

小猴打架 bzoj-1430

题目大意:题目链接。

注释:略。


想法

我们发现打架的情况就是一棵树。

我们只需要把确定树的形态然后乘以$(n-1)!$表示生成这棵树时边的顺序。

一共$n$个节点我们发现数的形态一共有$n^{n-2}$种。

所以答案就是$n^{n-2}\cdot (n-1)!$。

Code:

#include 
#include
#include
#include
#define mod 9999991 using namespace std;typedef long long ll;ll qpow(ll x,ll y){ ll ans=1; while(y) { if(y&1) (ans*=x)%=mod; y>>=1; (x*=x)%=mod; } return ans;}int main(){ ll n; cin >> n ; ll ans=1; for(int i=1;i<=n-1;i++) (ans*=i)%=mod; printf("%lld\n",qpow(n,n-2)*ans%mod); return 0;}

小结:$prufer$序列还是很好理解的。

转载于:https://www.cnblogs.com/ShuraK/p/10198806.html

你可能感兴趣的文章
selenium动作链
查看>>
《设计你的人生》的部分经典语录
查看>>
mustache多次渲染和多个赋值
查看>>
Web 前端开发精华文章推荐(HTML5、CSS3、jQuery)【系列二十三】
查看>>
linux-nohup命令
查看>>
[LeetCode OJ] Roman to Integer
查看>>
三次握手和四次挥手
查看>>
Redis的简单动态字符串实现
查看>>
putty network error:software caused connection abort
查看>>
存储过程 <3> 和函数的区别
查看>>
高级service之ipc ADIL用法
查看>>
Django框架-基础篇
查看>>
Leetcode: Binary Tree Maximum Path Sum
查看>>
通过虚拟环境创建并开始一个django
查看>>
关于 input[type="button"] , button
查看>>
Android ViewDragHelper全然解析 自己定义ViewGroup神器
查看>>
c++ 基础 const char* 转 char*
查看>>
JS-- 小细节--你悟到了什么?
查看>>
收款 借贷
查看>>
Gson关于抽象类的序列化与反序列化
查看>>