题解/算法 {J - Iris‘ Food}

题解/算法 {J - Iris’ Food}

@LINK: https://codeforces.com/gym/105184;

比如最终答案是: 1 0...0 1...1 2...2 3...3, 则其值 为1*10^? + (1...1)*10^? + (2...2)*10^? ...;

因此, 如何求2....2这个值(长度为1e9), 使用矩阵优化DP, DP定义为: DP[i]: 长度为i的2...2的大小, DP递推为DP[i] = DP[i-1]*10 + 2, 他可以写成DP[i-1] * 10 + 2 * 1, 即DP矩阵为[DP[i-1], 2] (也可以是[DP[i], 1]) 然后求他们的参数矩阵;

其实 比如要求7...7, 不用矩阵乘法也可以, 他等于9...9 / 9 * 7, 而9...9很容易算 他等于10^n - 1,因此 可以直接用逆元 即(10^n - 1) / 9 * 7 他就等于7...7;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值