#B. 组合数问题(binomial)

    Type: RemoteJudge 1000ms 250MiB

组合数问题(binomial)

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

众所周知,小葱同学擅长计算,尤其擅长计算组合数,所以小葱给了你两个数 nnkk,希望你找到 kk 个不同的组合数使得这 kk 个组合数的和最大。所谓不同的组合数,即对于组合数 Ca1b1C_{a_1}^{b_1}​​​ 和 Ca2b2C_{a_2}^{b_2},若 a1a2a_1\neq a_2 或者 b1b2b_1\neq b_2​​,则我们认为这两个组合数是不同的。现在小葱希望你找到这样 kk 个不同的组合数,使得它们互不相同且对于其中任何一个组合数 CabC_a^b0ban0\leq b\leq a\leq n。问这 kk 个组合数的和最大是多少?

输入格式

从标准输入读入数据。

第一行两个整数 n,kn,k

输出格式

输出到标准输出。

一行一个整数,代表 kk 个组合数的和对 109+710^9+7 取模之后的结果;数据保证一定有至少 kk 个数可以选。

2 3
4

提示

对于 20%20\% 的数据,n10n\leq 10

对于 40%40\% 的数据,n500n\leq 500

对于另外 20%20\% 的数据,k=1k=1

对于 100%100\% 的数据,1n106,1k105.1\leq n\leq 10^6,1\leq k\leq 10^5.

Credit: https://www.luogu.org/discuss/show/38908

The 2nd Yuzusoft Cup Stage 4: Germany

Not Attended
Status
Done
Rule
IOI
Problem
6
Start at
2024-4-1 7:00
End at
2024-4-11 7:00
Duration
240 hour(s)
Host
Partic.
5