luogu P4981 父子
2024-09-01 19:13:01
题目背景
上演在各大学男生寝室的日常 ::
A :A: “我没带纸,快来厕所救我!”
B :B: “叫爸爸。”
A :A: “爸爸!”
........................................................................................
A :A: “我没钱了,能借我点吗。”
B :B: “叫爸爸。”
A :A: “爸爸!”
一个月后、
B :B: “能把钱还给我吗。”
A :A: “叫爸爸。”
B :B: “爸爸!”
题目描述
对于全国各大大学的男生寝室,总是有各种混乱的父子关系。
那么假设现在我们一个男生寝室有不同的 \(n\) 个人,每个人都至多有一个“爸爸”,可以有多个“儿子”,且有且只有一个人没有“爸爸”(毕竟是室长,还是要给点面子,当然了,室长人人当嘛)。
那么现在问题来了,对于一个有 \(n\) 个人的寝室,最多可能存在多少种父子关系,当然每个人之间都必须要有直接或间接的父子关系。
输入格式
第一行一个 正整数 \(t\),表示有组数据。
接下来 \(t\) 行,每行一个整数 \(n\),表示有 \(n\) 个人。
输出格式
共 \(t\) 行,每行一个整数,求关系个数。
由于答案可能较大,则我们需要输出答案对 \(1e9+9\) 取模的值。
Cayley定理:过n个有标志顶点的无根树的数目等于n^(n-2)
本题要求有根,那就在原来基础上乘个n
快速幂求解
#include<cstdio>
#include<iostream>
using namespace std;
const int N=3115,mod=1e9+9;
#define int long long
#define LL long long
int ksm(LL n, LL m){
LL ret=1;
while(m){
if(m&1)ret=(ret*n)%mod;
n=n*n%mod; m>>=1;
}
return ret;
}
signed main(){
int t,n;
cin>>t;
while(t--){
scanf("%lld",&n);
printf("%lld\n",ksm(n,n-1));
}
return 0;
}
最新文章
- Dynamics AX 2012 R2 无法创建类";Excel.Application";的COM对象
- struts2 的正则表达式验证不起作用解决办法
- 迭代器模式(Iterator Pattern)
- FW:使用weave管理docker网络
- objc_msgSend(): Too many arguments to function call ,expected 0,have3
- hdu------(1525)Euclid&#39;s Game(博弈决策树)
- Matlab实现求a到b被c整除的个数
- ie6 css sprites重复加载
- BZOJ 1012 最大数
- hdu 4738 Caocao&#39;s Bridges(2013杭州网络赛丶神坑)
- Sicily-1024
- .Net 内存溢出(System.OutOfMemoryException)
- IIS服务器 远程发布(Web Deploy)配置 VS2010 开发环境 Windows Server 2008服务器系统
- C语言::模拟实现strlen函数
- android:getSlotFromBufferLocked: unknown buffer: 0xf3d544c0
- U68364 _GC滑迷宫
- django QuerySet
- Pycharm 有些库(函数)没有代码提示
- webpack --watch和supervisor的不同
- zsh切换bash bash切换zsh
热门文章
- 2. 彤哥说netty系列之IO的五种模型
- 使用Samba服务实现Linux与Windows系统之间的文件共享
- 关于Eratosthenes筛子算法筛选小于n的素数的理解
- Dubbo的应用
- Matlab 文件格式化/Matlab Source File Formator
- celery 启用worker ValueError: not enough values to unpack
- 力扣(LeetCode)反转链表 个人题解
- ZeroC ICE的远程调用框架 AMI与AMD -Why?
- ArrayList和LinkedList的源码学习,理解两者在插入、删除、和查找的性能差异
- 达梦关键字(如:XML,EXCHANGE,DOMAIN,link等)配置忽略