【题解】[Codeforces 838D] Airplane Arrangements【人类智慧】
作者:互联网
题意
\(m\) 个人依次上飞机,飞机上有一行 \(n\) 个座位。每个人有其进入方向(左->右 右->左)和理想座位 \(a_i\)。每个人依次进入飞机,走到位置 \(a_i\);若其已被占据,沿其进入方向继续走直到遇到空位,然后这个人坐下;要是这个人一直找不到空位,他会 be angry。
考虑所有人的所有可能的方向和理想座位(\((2n)^m\) 种),问其中有多少种能使每个人都不 angry。
\(m\leq n\leq 10^6\)
题解
假设我们新增一个座位,并将座位接成一个环,这样每个人都有位置坐,而且每个座位是等价的。若有人坐在新增的座位上,他显然会 be angry。于是答案就是 \((2n+2)^m\cdot \dfrac{n+1-m}{n+1}\)
n,m=[int(i) for i in input().split()]
print(pow(2*n+2,m-1,1000000007)*2*(n+1-m)%1000000007)
标签:每个,题解,angry,Codeforces,leq,Arrangements,座位,2n 来源: https://www.cnblogs.com/wallbreaker5th/p/14214813.html