puppywolf的博客

初二蒟蒻一枚

JZOJ3481. 【NOIP2013模拟10.23】君と彼女の恋(2017.10B组)

https://jzoj.net/senior/#main/show/3481
Description

「每天都像上楼梯,而不是走平路那样地度过。

一旦怀有疑问,每天都会变得艰辛起来。

所以,一步、一步,什么都不要想,向上攀登。」

心一 「喂?能听见 吗」

神 「肯定、 联络确认 」

神 「重新运行 、这个世界,是控制着的希望和 推测 」

神 「只有 美雪和葵才有资格 」

神 「但是 ,这个世界已经改变了 葵的存在几乎消失」

【几乎 …… ?】

神 「肯定 」

神 「还有 一些 意识 的碎片以 电波 的形式残存下来 」

神 「输入 对了密码,有可能 会再次 出现 」

【的确 ,美雪也曾说过这样的话】

【但是, 密码 …… 被美雪抢先 ,改变了】

神 「备用 密码已经准备好了 」

【但是 ,你怎么知道那个 号码 ?】

【这个 对话,被记录在存储里】

【如果 ,那是神说的话美雪马上就会更改密码 …… 】

神 「否定 」

神 「容易计算 的数字 、美雪 知道 」

神 「但是 ,有无法 凭她自己计算出来的数字 」

神 「只有 控制 者在控制者的世界能计算出来数字 」

【控制者 的世界?】

神 「肯定 。即是 —— 现实 」

神 「在现实中 ,利用计算 机才能完成的。准备好了 吗?」

完全不知道他在 说些什么 ——

神 「记住神 的电话号码 」

我一边 听着, 一边 打开了电话簿。

神的电话号码是 —— 905 229 641。

【唔…… 还是个 质数啊】

神 「肯定 。美雪 准备了两个 变数 ,记它们为 n和m」

神 「找到一个非 空的非负整数序列 S,满足 S的所有元素之和为 n,而且每个元素对 m取模得到的结果都不相同 」

神 「这种 序列的个数 ,对神的电话号码取模, 就是 命运的数字 」

更加 听不明白 了…… 但是 你能懂的吧。

【嗯…… 怎样 的两个序列算是不同的?】

神 「只要长度不相同,或者 存在 一位 不同 的元素,即为不同序列 」

神 「复活 葵的密码、能输入吗? 」

【能输入】

我的手, 放在了拨号 画面 上。

脑海里突然 出现了 一串 ,我没见过的数字。

那是 ——

Input

输入一共一行,包含两个用空格隔开的整数n和m。

Output

输出一行,代表应输入的密码。

Sample Input

输入1:

3 3

输入2:

523 44

Sample Output

输出1:

9

样例1解释:

9个序列如下:

(3)、(1,2)、(2,1)、(0,1,2)、(0,2,1)、(1,0,2)、(1,2,0)、(2,0,1)、(2,1,0)。

输出2:

338398304

Data Constraint

对于 20% 的数据 ,n≤20,m≤5。

对于 40%的数据 ,n≤300,m≤10。

对于 70 %的数据, n≤10^18,m≤20。

对于 100% 的数据, n≤10^18,m≤100。
想法:
设f[i][j][k]表示前i个余数(0~i-1),和为j,用了k个的方案数
转移至f[i+1][j][k],f[i+1][j+i][k+1]
f[1,0,1]=f[1,0,0]=1;
然后对于·每一个f[m][i][k],如果n-i能被m整除
那么这里就相当于给一堆数加一定的m的方案数
x=(n-i)/m
=f[m][i][k]* C(i+x-1,i-1)*i!(排列)
累加即可

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/puppywolf/article/details/78167248
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

JZOJ3481. 【NOIP2013模拟10.23】君と彼女の恋(2017.10B组)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭