矩阵乘法

共 1 篇文章

题解 CF1117D Magic Gems

March 2, 2019

有趣的矩阵乘法

(为方便,下文中“大号宝石”代指连续的mm个分裂出来的宝石,“小号宝石”代指未分裂的单个宝石)

首先,我们观察这题,考虑DPDP​,设状态fif_i​表示已经取了ii​个单元的方案数的不难推出一个朴素的O(n2)DPO(n^2) DP​方程fi=ijmfj+1f_i = \displaystyle\sum_{i - j \geq m} f_j +1​(可以理解成上一个大号宝石放的位置,最后一个11​即为全部用小号宝石填满的方案)

我们再仔细看看这个式子,加个前缀和,不难优化到O(n)O(n),然而数据范围n1018n \leq 10^{18},这让我们考虑O(logn)O(\log n)级别的算法,我们接下来考虑矩阵乘法优化这个式子。


QQ

|

Codeforces

|

Luogu

|

Github
本站由 Hexo 驱动,使用 Azurus 作为主题。