题目传送门
(反正老年选手写题解也没人看随便水2333333)
一向毒瘤的 dayu 模拟赛这回搞到了这道题……
看起来很像数位 DP 不是吗?
可是不会转移啊QAQ……想了半天决定分块打表!
分块打表这个黑科技是从Po姐那里学来的……(其实只不过是知乎上的一个回答……
于是借鉴这个思路,分块打表……处理出
[
x
×
1
0
6
,
(
x
+
1
)
×
1
0
6
]
[x\times 10^6,(x+1)\times 10^6]
[x×106,(x+1)×106] 中答案的个数。这个数组有
1
0
3
10^3
103 那么大,不超过代码长度限制……
然后对于其余部分,直接暴力做就好了,对于单独一个数的分解时间复杂度是
O
(
lg
2
n
)
O(\lg^2 n)
O(lg2n) 的。
于是这个复杂度最坏就是
O
(
1
0
6
lg
2
max
(
l
,
r
)
+
1
0
3
)
O(10^6\lg^2 \max(l,r)+10^3)
O(106lg2max(l,r)+103),能过……
学弟的表打出来比我的快
5
5
5 倍QAQ
Code
[分块打表] [Luogu P1822] 魔法指纹
最新推荐文章于 2021-11-07 16:06:17 发布