我们查看更一般的情况,设人数为m

则n < m * 2无解

然后n为奇数的情况:

我们把一个人和一个空格打包,于是剩下m个"人"和n - m个空格,随便排列这些"人",然后把空格插入

本质不同的"人"的圆周排列有(m - 1)!个,对于每个排列,有m个位置插入n - m个空格,有C(n - m - 1, m - 1)中方法,然后对于一个排列,圆周排列有n个

ans = C(n - m - 1, m - 1) * (m - 1)! * n

最后是n为奇数的情况:

我们把相对的两个点打包,然后就变成一个长度为n / 2的圈

等价于n / 2中选m个,一个有k段连续的1的方案对应原来的2k种方案

于是ans = n / 2 * (m - 1)! * Σ (2k * C(n / 2 - m - 1, k - 1) * C(m, k)) (其中1 ≤ k ≤ m)

然后题目比较鬼畜。。。我还是上py好了。。。

 def C(n, m) :
if (n < m) : return 0
return fac[n] / fac[m] / fac[n - m] def work_odd(n, m) :
return n * C(n - m - 1, m - 1) * fac[m - 1] def work_even(n, m) :
res = 0
n /= 2
i = m
while (i > 0) :
res = (res + C(n - m - 1, i - 1) * C(m, i)) * 2
i -= 1
return res * fac[m - 1] * n; fac = [1] * 105
for i in range(1, 100) : fac[i] = fac[i - 1] * i
n = input()
m = 8
while (n > 0) :
if (n < m * 2) : print 0
elif (n % 2 == 1) : print work_odd(n, m)
else : print work_even(n, m)
n = input();

AOJ2025 Eight Princes的更多相关文章

  1. 10个惊艳的Swift单行代码

    几年前,一篇表述“10个Scala函数式单行代码”的文章非常受欢迎,并且随后立马出现了其他的语言版本,例如Haskell版本,Ruby版本,Groovy版本,Clojure版本,Python版本,C# ...

  2. UI中经常出现的下拉框下拉自动筛选效果的实现

    小需求是当你在第一个下拉框选择了国家时,会自动更新第二个省份的下拉框,效果如下 两个下拉选择Html如下: <select id="country_select"> & ...

  3. 强连通+二分匹配(hdu4685 Prince and Princess)

    Prince and Princess Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Othe ...

  4. python瓦登尔湖词频统计

    #瓦登尔湖词频统计: import string path = 'D:/python3/Walden.txt' with open(path,'r',encoding= 'utf-8') as tex ...

  5. A Game of Thrones(9) - Tyrion

    Somewhere in the great stone maze(迷宫:迷惑) of Winterfell, a wolf howled. The sound hung over the castl ...

  6. A Game of Thrones(7) -Arya

    Arya’s stitches were crooked again. She frowned down at them with dismay and glanced over to where h ...

  7. A Game of Thrones(6) - Catelyn

    Of all the rooms in Winterfell’s Great Keep, Catelyn’s bedchambers(['bedtʃeɪmbə]卧室,寝室) were the hott ...

  8. A Game of Thrones(5) - Jon

    There were times—not many, but a few—when Jon Snow was glad he was a bastard. As he filled his wine ...

  9. A Game of Thrones(3) - Daenerys

    Her brother held the gown up for her inspection. “This is beauty. Touch it. Go on. Caress(爱抚,抚抱) the ...

随机推荐

  1. 20145321《网络对抗技术》逆向与Bof基础

    20145321<网络对抗技术>逆向与Bof基础 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何 ...

  2. noip 瑞士轮 - 归并

    背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平,偶然性较低,但比赛过程往往十分冗长 ...

  3. hosts 位置和功能

    什么是HOST文件: Hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hos ...

  4. RNN网络【转】

    本文转载自:https://zhuanlan.zhihu.com/p/29212896 简单的Char RNN生成文本 Sherlock I want to create some new thing ...

  5. [BZOJ4244]邮戳拉力赛

    Description IOI铁路是由N+2个站点构成的直线线路.这条线路的车站从某一端的车站开始顺次标号为0...N+1. 这条路线上行驶的电车分为上行电车和下行电车两种,上行电车沿编号增大方向行驶 ...

  6. 试着用React写项目-利用react-router解决跳转路由等问题(三)

    转载请注明出处:王亟亟的大牛之路 本来想一下子把路由的接下来的内容都写完的,但是今天白天开了会,传了些代码打了个包,就被耽搁了 这一篇来讲一下 IndexLink和 onlyActiveOnIndex ...

  7. github上不去了

    这几天发现github.com上不去了 可能是由于要杜绝国外的人使用最新的技术??从而屏蔽了吗?

  8. 树莓派GPIO

  9. python 获取格式化时间

    #!/usr/bin/python # -*- coding: UTF- -*- import time localtime = time.asctime( time.localtime(time.t ...

  10. python 集合的运算

    x = frozenset([, , , , ]) y = frozenset([, , , , ]) #如果x与y没有公共元素,返回true print(x.isdisjoint(y)) #返回x与 ...