介绍
不记得是从哪里看到的好东西了qwq
这个东西用来做这种类型的问题:给出若干个数,每个数有无限个,问用这些数能组成(加起来)多少个不同的数。
当然,也可以求出某个具体的数能不能被这若干个数组成,也有其他能解决的问题,因为实际上这个东西是处理出了一个 f f f 数组,活用这个数组可以做很多事。
求解
假设你现在有 a 1 a_1 a1 ~ a n a_n an 这 n n n 个数,首先要任选一个数作为模数,设为 p p p,然后 f [ i ] f[i] f[i] 的定义为:用其他数能组成的 模 p p p 等于 i i i 的 最小的数。
比如说,有三个数 5 , 7 , 9 5,7,9 5,7,9,设 p = 5 p=5 p=5,那么 f [ 1 ] = 7 + 9 = 16 f[1]=7+9=16 f[1]

最低0.47元/天 解锁文章
1506

被折叠的 条评论
为什么被折叠?



