同余最短路小结

介绍

不记得是从哪里看到的好东西了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]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值