11.23 11.23 11.23
做了道 CF514E 加深了矩阵加速 dp 转移的方法。
即原本 dp 方程为
f
i
=
∑
j
=
1
100
f
i
−
j
×
g
s
j
f_{i}=\sum\limits_{j=1}^{100}f_{i-j}\times gs_j
fi=j=1∑100fi−j×gsj ,其中
g
s
j
gs_j
gsj 为深度为
j
j
j 的点的个数。
然后考虑矩阵优化一下就好了,时间复杂度
O
(
10
0
3
×
log
m
)
O(100^{3}\times\log m)
O(1003×logm)
为了加强代码能力做了道大模拟 CF1439A2,反正我写了5k代码,写了将近 1.5 小时
然后做了两道 ds 题
思路还是挺简单的,首先答案 a n s = ∏ P i max k i ans=\prod P_i^{\max k_i} ans=∏Pimaxki 于是我们对于根号内的质因数用线段树维护最大指数,大于根号的用可持久化线段树维护一下就好了,时间复杂度 O ( n log 2 n ) O(n \log ^2 n) O(nlog2n)
由于序列单调不增,经过操作1后也单调不增,我们就能想到二分。对于操作1我们二分出第一个小于 y y y 的数然后线段树区间修改。对于操作二,我们为了方便线段树上处理先让 y y y 加上 [ 1 , x ] [1,x] [1,x] 的权值这样就可以从 1 1 1 开始做,然后再在线段树上分治一下就好了。时间复杂度 O ( n log 2 n ) O(n \log ^2 n) O(nlog2n)