#P13042. [AGC045D] Lamps and Buttons

    ID: 12226 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>CF2700数学组合数学模运算概率论博弈论

[AGC045D] Lamps and Buttons

题目描述

NN 个编号为 11NN 的灯,以及 NN 个编号为 11NN 的按钮。一开始,编号为 1,2,,A1,2,\cdots,A 的灯是点亮的,其余的灯是熄灭的。

すぬけくん和りんごさん决定进行如下游戏:

  • 首先,りんごさん生成一个 11NN 的排列 (p1,p2,,pN)(p_1,p_2,\cdots,p_N)。该排列从 N!N! 种可能中等概率随机选取。すぬけくん并不知道这个排列。

  • 接下来,すぬけくん可以任意多次进行如下操作:

    • 从当前点亮的灯中任选一个(如果没有点亮的灯则无法操作)。设选中的灯编号为 ii,然后按下按钮 ii。这样,编号为 pip_i 的灯的状态会被反转(如果原来点亮则变为熄灭,原来熄灭则变为点亮)。

すぬけくん始终可以知道哪些灯是点亮的。すぬけくん的胜利条件是让所有灯都点亮。如果确定无法达成目标,すぬけくん就认输。当すぬけくん采取最优策略时,他的胜率是多少?

设すぬけくん的胜率为 ww,则 w×N!w\times N! 一定是整数。请输出 w×N!w\times N!109+710^9+7 取模的结果。

输入格式

输入从标准输入读入,格式如下:

NN AA

输出格式

设すぬけくん的胜率为 ww,请输出 w×N!w\times N!109+710^9+7 取模的结果。

输入输出样例 #1

输入 #1

3 1

输出 #1

2

输入输出样例 #2

输入 #2

3 2

输出 #2

3

输入输出样例 #3

输入 #3

8 4

输出 #3

16776

输入输出样例 #4

输入 #4

9999999 4999

输出 #4

90395416

说明/提示

限制

  • 2N1072\leq N\leq 10^7
  • 1Amin(N1,5000)1\leq A\leq \min(N-1,5000)

样例解释 1

すぬけくん首先按下按钮 11。如果灯 11 被熄灭,则すぬけくん失败。否则,按下新点亮的灯对应的按钮。如果剩下的灯被点亮,则すぬけくん获胜。反之,如果灯 11 被熄灭,则すぬけくん失败。这个游戏的胜率是 1/31/3,所以输出 (1/3)×3!=2(1/3)\times 3! = 2