NYOJ127 星际之门(一)(最小生成数的个数+快速幂)
来源:互联网 发布:什么布吸水性最好 知乎 编辑:程序博客网 时间:2024/05/16 12:50
题目描述:
http://acm.nyist.net/JudgeOnline/problem.php?pid=127
- 可以证明,修建N-1条虫洞就可以把这N个星系连结起来。
现在,问题来了,皇帝想知道有多少种修建方案可以把这N个星系用N-1条虫洞连结起来?
- 输入
- 第一行输入一个整数T,表示测试数据的组数(T<=100)
每组测试数据只有一行,该行只有一个整数N,表示有N个星系。(2<=N<=1000000) - 输出
- 对于每组测试数据输出一个整数,表示满足题意的修建的方案的个数。输出结果可能很大,请输出修建方案数对10003取余之后的结果。
- 样例输入
234
- 样例输出
316
题目分析:
快速幂+完全图的最小生成树的个数,n个顶点的最小生成树的个数为n^(n-2)。
AC代码1 O(n):
/** *在一个n阶完全图的所有生成树的数量为n的n-2次方 */#include<iostream>#include<cstdio>#include<map>#include<cstring>#include<string>#include<algorithm>#include<queue>#include<vector>#include<stack>#include<cstdlib>#include<cctype>#include<cstring>#include<cmath>#define MOD 10003using namespace std;int Sum(int n){ int res=n; for(int i=1;i<=n-3;i++){ res*=n; res%=MOD; } return res;}int main(){ int n,t; cin>>t; while(t--){ cin>>n; if(n==2){//只有一中 cout<<"1"<<endl; continue; } int res=n; for(int i=1;i<=n-3;i++){ res*=n; res%=MOD; } cout<<res<<endl; }return 0;}AC代码2 O(logn)
/** *在一个n阶完全图的所有生成树的数量为n的n-2次方 */#include<iostream>#include<cstdio>#include<map>#include<cstring>#include<string>#include<algorithm>#include<queue>#include<vector>#include<stack>#include<cstdlib>#include<cctype>#include<cstring>#include<cmath>#define MOD 10003using namespace std;int Mod(int a,int b)//快速幂{ int ret=1; int tmp=a; while(b) { //奇数存在 if(b&1) ret=ret*tmp%MOD; tmp=tmp*tmp%MOD; b>>=1; } return ret;}int main(){ int n,t; cin>>t; while(t--){ cin>>n; if(n==2){//只有一中 cout<<"1"<<endl; continue; } /** int res=n; for(int i=1;i<=n-3;i++){ res*=n; res%=MOD; } cout<<res<<endl; **/ cout<<Mod(n,n-2)<<endl; }return 0;}
0 0
- NYOJ127 星际之门(一)(最小生成数的个数+快速幂)
- NYOJ127 - 星际之门(一)(n个节点的完全树有n^n-2个最小生成树)
- NYOJ127 星际之门(一)【定理】
- 星际之门(一)nyoj127
- NYOJ127星际之门(一)_n阶完全图的生成树数目
- nyoj127星际之门一
- 星际之门(一)(cayley定理n阶完全图的生成数个数,快速幂)
- 星际之门(一)【最小生成树个数】
- NYOJ127 星际之门(一)(图论Cayley公式)
- nyoj 127 星际之门(一) 最小生成树个数+二分求幂
- nyoj 127 星际之门(一)【最小生成树】
- NYOJ 题目127星际之门(一)(生成树个数)
- 小白算法练习 NYOJ 星际之门(一) 快速乘幂+cayley的一个定理
- nyoj--127--星际之门(一)(生成树的数量)
- NYOJ 127 星际之门(一) N阶完全图的生成树数量
- 星际之门(一)(凯莱定理+快速幂)
- 星际之门(一)
- 星际之门(一)
- 使用Less制作带箭头提示框
- android学习之一·简单ListView的实现
- Lua性能优化技巧
- Agile Programing
- 今天写了关于jquery的一些写法
- NYOJ127 星际之门(一)(最小生成数的个数+快速幂)
- 设计模式工厂三姐妹
- 统计不同的单词个数。
- 将某一个路径下的所有java文件复制到另外一个文件夹下,并重命名为jad文件
- 实验室第十四周工作报告
- 一点自我反省
- LeetCode:Remove Element
- LINUX下通过外部SMTP发邮件
- Handler的总结