P2817 宋荣子的城堡
一道找规律的题,现在深入追究发现了有趣的东西。
1 1
2 2
3 9
4 64
显然k^(k-1) 在日照的时候也推出来了。
3 9今天推错了,要列出所有的情况,然后再选,否则会漏掉。
答案是(k^(k-1)) * ((n-k)^(n-k))
对了,我卡速米一直打的是错的。要对指数为0的情况特判,不然会死循环。

现在,告诉我,why?

cayley定理(凯莱定理)
对于有n个节点,生成树的方案有多少种?
答案是n^(n-2)
推导过程如下:
k表示现在有多少子树
显然初始时,k==n
现在从n个节点中任选1个,有C(n 1)种可能,再从不包含这个节点的子树中选1个子树和这个节点连起来,有C(k-1 1),然后子树减少一个。重复这个过程直到,子树只剩1个,乘法原理,(n^(n-1))*(n-1)!。
假定每次都是(从n个节点中任选1个)选的同一个,并把它设成根,想象一下,对于同一棵树这就考虑了每个节点是根的情况。
有n-1条边,不考虑加进来的顺序,所以再除(n-1)!,现在成了n^(n-1),在一棵树中,根节点是哪个都无所谓,再除n,就成了
n^(n-2)。

但是对于这个题而言,可以假定1连向的点为根节点,实际上把它的每个点当成根节点都会形成新的方案,所以再*k
故答案 k^(k-1)

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<queue>
  4. #include<algorithm>
  5. #include<cmath>
  6. #include<ctime>
  7. #include<cstring>
  8. #define mod 1000000007
  9. #define inf 2147483647
  10. #define For(i,a,b) for(register long long i=a;i<=b;i++)
  11. #define p(a) putchar(a)
  12. #define g() getchar()
  13. //by war
  14. //2017.10.19
  15. using namespace std;
  16. long long n,k;
  17. void in(long long &x)
  18. {
  19. long long y=;
  20. char c=g();x=;
  21. while(c<''||c>'')
  22. {
  23. if(c=='-')
  24. y=-;
  25. c=g();
  26. }
  27. while(c<=''&&c>='')x=x*+c-'',c=g();
  28. x*=y;
  29. }
  30. void o(long long x)
  31. {
  32. if(x<)
  33. {
  34. p('-');
  35. x=-x;
  36. }
  37. if(x>)o(x/);
  38. p(x%+'');
  39. }
  40.  
  41. long long POW(long long a,long long b)
  42. {
  43. a%=mod;
  44. if(b==)
  45. return ;
  46. while(b%==)
  47. {
  48. a=(a*a)%mod;
  49. b>>=;
  50. }
  51. long long r=;
  52. while(b>)
  53. {
  54. if(b%==)
  55. r=(r*a)%mod;
  56. a=(a*a)%mod;
  57. b>>=;
  58. }
  59. return r;
  60. }
  61.  
  62. int main()
  63. {
  64. in(n),in(k);
  65. // n%=mod;
  66. o((POW(k,k-)*POW(n-k,n-k))%mod);
  67. return ;
  68. }

P2817 宋荣子的城堡的更多相关文章

  1. [Luogu] P2817 宋荣子的城堡

    题目描述 saruka有一座大大的城堡!城堡里面有n个房间,每个房间上面都写着一个数字p[i].有一天,saruka邀请他的小伙伴LYL和MagHSK来城堡里玩耍(为什么没有妹子),他们约定,如果某一 ...

  2. [Luogu 2817]宋荣子的城堡

    Description saruka有一座大大的城堡!城堡里面有n个房间,每个房间上面都写着一个数字p[i].有一天,saruka邀请他的小伙伴LYL和 MagHSK来城堡里玩耍(为什么没有妹子),他 ...

  3. vijos1059 积木城堡[n年浙江省队第X轮](背包的方案总数 or 01背包)

    描述 XC的儿子小XC最喜欢玩的游戏用积木垒漂亮的城堡.城堡是用一些立方体的积木垒成的,城堡的每一层是一块积木.小XC是一个比他爸爸XC还聪明的孩子,他发现垒城堡的时候,如果下面的积木比上面的积木大, ...

  4. HDU1269 迷宫城堡

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  5. HD1269迷宫城堡(有向图 && 划分连通块)

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  6. bzoj 3399: [Usaco2009 Mar]Sand Castle城堡

    3399: [Usaco2009 Mar]Sand Castle城堡 Time Limit: 3 Sec  Memory Limit: 128 MB Description 约翰用沙子建了一座城堡.正 ...

  7. hdu 1269 迷宫城堡 强连通分量

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  8. HDU1269 迷宫城堡(裸强连通分量)

    Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A ...

  9. 洛谷P1457 城堡 The Castle

    P1457 城堡 The Castle 137通过 279提交 题目提供者该用户不存在 标签USACO 难度提高+/省选- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 我们憨厚的USACO ...

随机推荐

  1. 函数、可变参数、keyword-only参数、实参解构

    函数的数学定义:y=f(x) ,y是x的函数,x是自变量.y=f(x0, x1, ..., xn) python中的函数: 由函数名称.参数列表.和若干语句组成的语句块构成,完成一定的功能,是组织代码 ...

  2. Cocos2d-x 3.2 打包Android平台APK

    (转自:http://www.cnblogs.com/Richard-Core/p/3855130.html) 从cocos2dx 3.2项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭 ...

  3. [学习笔记]Cayley-Hilmiton

    Cayley–Hamilton theorem - Wikipedia 其实不是理解很透彻,,,先写上 简而言之: 是一个知道递推式,快速求第n项的方法 k比较小的时候可以用矩阵乘法 k是2000,n ...

  4. js判断是否为空

    http://dushanggaolou.iteye.com/blog/1293803 1.<input type="hidden" id="key" n ...

  5. unity常用小知识点

    感觉自己抑郁变得更严重了,超级敏感,经常想崩溃大哭,睡眠超差,实在不想药物治疗,多看看书,多约约朋友,多出去走走. 来几句鸡汤吧,人一定要活得明白一点,任何关系都不要不清不楚,说不定最后受伤的就是自个 ...

  6. 函数和常用模块【day06】:shutil模块(四)

    本节内容 简书 模块详解 压缩解压 一.简述 我们在日常处理文件时,经常用到os模块,但是有的时候你会发现,像拷贝.删除.打包.压缩等文件操作,在os模块中没有对应的函数去操作,下面我们就来讲讲高级的 ...

  7. 说说Cookie和Session

    Session和Cookie在网站开发中是用来保存用户与后端服务器的交互状态.它们有各自的缺点和优点.而且,他们的优点和应用场景是对立的.   Cookie 完整地描述:当一个用户通过HTTP访问一个 ...

  8. SCI写作经典替换词

  9. Python学习笔记5-时间模块time/datetime

    import time time.sleep(2) #等待几秒 # 1.格式化好的时间 2018-1-14 16:42 # 2.时间戳 是从unix元年到现在所有的秒数 # 3.时间元组 #想时间戳和 ...

  10. 【转】详解linux vi命令用法

    功能最强在的编辑器--vi vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件.当然,对UNIX系统略有所知的人, 或多或少都觉得vi超级难用,但vi是最基本的编辑器 ...