您的位置:首页 > 理论基础 > 计算机网络

2016ACM-ICPC沈阳网络预选赛1003 hannnnah_j's Biological Test

2016-09-19 23:40 453 查看
题意: m个人要考试,老师将他们安排在一张有n把椅子的圆桌上,任意两人之间至少隔着k把椅子,问方案数%(1e9+7).

思路:

1.保证n>=m∗(k+1).

2.固定第一个人的位置,这样固定的方法就有n种,先在两人之间放k把椅子,那么剩下 n−m∗(k+1)把椅子.

3.剩下的椅子要放在任意两人之间,这样就是一个经典模型:小球不区分,盒子区分,盒子可为空.即(m−1n−m⋅k−1)

4.固定第一人的方法有n种,并且每个位置轮流会有重复,所以需要除以m.最终答案即是n⋅(m−1n−m⋅k−1)mmod(1e9+7)

5.显然这是个大组合数,Lucas定理套一下,

注意:需要特判m==1的情况,即使一个人,可在n位置上任意选,答案即为n.

代码链接:https://github.com/PhyCoe/ACM-Training/blob/master/Code/hdu5894.cpp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: