题目描写叙述:

http://acm.nyist.net/JudgeOnline/problem.php?pid=127

能够证明。修建N-1条虫洞就能够把这N个星系连结起来。

如今。问题来了。皇帝想知道有多少种修建方案能够把这N个星系用N-1条虫洞连结起来?

输入
第一行输入一个整数T,表示測试数据的组数(T<=100)

每组測试数据仅仅有一行。该行仅仅有一个整数N。表示有N个星系。

(2<=N<=1000000)

输出
对于每组測试数据输出一个整数。表示满足题意的修建的方案的个数。

输出结果可能非常大,请输出修建方案数对10003取余之后的结果。

例子输入
2
3
4
例子输出
3
16

题目分析:

高速幂+全然图的最小生成树的个数,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 10003
using 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 10003
using 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;
}


NYOJ127 星际之门(一)(最小生成数的个数+高速幂)的更多相关文章

  1. nyoj-----127星际之门(一)

    星际之门(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 公元3000年,子虚帝国统领着N个星系,原先它们是靠近光束飞船来进行旅行的,近来,X博士发明了星际之门 ...

  2. NYOJ127 星际之门(一)【定理】

    星际之门(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描写叙述 公元3000年,子虚帝国统领着N个星系,原先它们是靠近光束飞船来进行旅行的,近来,X博士发明了星际之门 ...

  3. 最小生成数之Kruskal算法

    描述 随着小Hi拥有城市数目的增加,在之间所使用的Prim算法已经无法继续使用了--但是幸运的是,经过计算机的分析,小Hi已经筛选出了一些比较适合建造道路的路线,这个数量并没有特别的大. 所以问题变成 ...

  4. 最小生成数kruskal算法和prim算法

    定义 连通图:在无向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该无向图为连通图. 强连通图:在有向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该有向图为强连通图. 连通网:在 ...

  5. 最小生成数(并查集)Kruskal算法

    并查集:使用并查集可以把每个连通分量看作一个集合,该集合包含连通分量的所有点.这两两连通而具体的连通方式无关紧要,就好比集合中的元素没有先后顺序之分,只有属于和不属于的区别.#define N 100 ...

  6. 最小生成数 克鲁斯卡尔 普里姆 matlab

    克鲁斯卡尔: function T=MST_Kruskal(G) n=0; if isfield(G,'w') && ~isempty(G.w) && size(G.w ...

  7. ACM题目————次小生成树

    Description 最小生成树大家都已经很了解,次小生成树就是图中构成的树的权值和第二小的树,此值也可能等于最小生成树的权值和,你的任务就是设计一个算法计算图的最小生成树. Input 存在多组数 ...

  8. The Unique MST----poj1679次小生成树

    题目链接:http://poj.org/problem?id=1679 判断最小生成数是否唯一:如果唯一这权值和次小生成树不同,否则相同: #include<stdio.h> #inclu ...

  9. UVA 10462 Is There A Second Way Left? (次小生成树+kruskal)

    题目大意: Nasa应邻居们的要求,决定用一个网络把大家链接在一起.给出v个点,e条可行路线,每条路线分别是x连接到y需要花费w. 1:如果不存在最小生成树,输出“No way”. 2:如果不存在次小 ...

随机推荐

  1. 【机器学习实战】第13章 利用 PCA 来简化数据

    第13章 利用 PCA 来简化数据 降维技术 场景 我们正通过电视观看体育比赛,在电视的显示器上有一个球. 显示器大概包含了100万像素点,而球则可能是由较少的像素点组成,例如说一千个像素点. 人们实 ...

  2. JSON相关知识整理

    JSON   全称:JavaScript Object Notation ,一种轻量级的数据交换格式 示例:{"name":"eric","age&q ...

  3. Java--集合(一)

    一.前序     前几篇文章我结合数据结构说了一些常用的集合,但是我感觉那样可能不系统,于是乎想着重写,按照由整体到细节的方式去写,这样才能更好的把握集合,废话不多说开始吧: 二.集合框架      ...

  4. 浅析Struts2中的OGNL和ValueStack

    要了解Struts2与OGNL表达式的关系,我们必须先搞清楚以下三个概念: 1.  ActionContext它是Action运行的上下文环境,Action的多项设置都存放在次,我们每一次Action ...

  5. Markdown规则

    第一次写随想,写的不好还请包涵呀!!! 这两天在用markdown写一些文档,感觉还不错,整理一下其规则,对于新手会有帮助. 1. 文章的标题,一般写在首行,第二行添加"---------- ...

  6. C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换

    /// <summary>    /// 本类实现阿拉伯数字到大写中文的转换    /// 该类没有对非法数字进行判别,请事先自己判断数字是否合法    /// </summary& ...

  7. Google Python编程规范

    http://pan.baidu.com/s/1dD1Ra7J 其他语言的编程风格: http://zh-google-styleguide.readthedocs.org/en/latest/

  8. 启用 Brotli 压缩算法,对比 Gzip 压缩 CDN 流量再减少 20%

    Google 认为互联网用户的时间是宝贵的,他们的时间不应该消耗在漫长的网页加载中,因此在 2015 年 9 月 Google 推出了无损压缩算法 Brotli.Brotli 通过变种的 LZ77 算 ...

  9. sockt初级了解 感悟 一起打怪升级偶

    刚接触来谈谈对sockt基础的一点理解,多线性下次再发.也逛了逛博客,有一篇基础讲的停息在这推荐下sockt套接字编程全绍辉 首先贴下代码#服务器 import socket skt=socket.s ...

  10. Struts1.2,struts2.0原理分析

    struts1原理: 1.首先我们表单提交到action 2.进入到web.xml 3.web.xml拦截*.do 4.交给ActionServlet 5.找到path属性,获得url 6.找到nam ...