5020 - 公式求值

通过次数

0

提交次数

0

时间限制 : 1 秒
内存限制 : 256 MB

  输入n, m, k,输出下面公式的值。
 

15659624417124.png


  其中C_n^m是组合数,表示在n个人的集合中选出m个人组成一个集合的方案数。组合数的计算公式如下。
 

15659624651443.png

输入

 输入的第一行包含一个整数n;第二行包含一个整数m,第三行包含一个整数k。

输出

计算上面公式的值,由于答案非常大,请输出这个值除以999101的余数。

样例

输入

3
1
3

输出

162

输入

20
10
10

输出

359316

提示

数据规模和约定

  对于10%的数据,n≤10,k≤3;
  对于20%的数据,n≤20,k≤3;
  对于30%的数据,n≤1000,k≤5;
  对于40%的数据,n≤10^7,k≤10;
  对于60%的数据,n≤10^15,k ≤100;
  对于70%的数据,n≤10^100,k≤200;
  对于80%的数据,n≤10^500,k ≤500;
  对于100%的数据,n在十进制下不超过1000位,即1≤n<10^1000,1≤k≤1000,同时0≤m≤n,k≤n。

提示

  999101是一个质数;
  当n位数比较多时,绝大多数情况下答案都是0,但评测的时候会选取一些答案不是0的数据;

锦囊1

组合公式。

锦囊2

通过推导,可以将原式变为一个只含2^(n-i)的项和C(n,m)项的公式,然后分别求这两类公式的值,均有快速方法。最终将这些项组合起来得到答案。

来源

蓝桥杯精选