[ABC335*] 题解

发布时间 2024-01-07 02:13:03作者: ShaoJia

A

末位改成 '4'

B

dfs。

C

记录每个时刻龙头的位置,查表。

D

将龙盘起来即可。

E

每个点记录 \(1\) 到她的答案 \(f_i\)

每种值同时转移,每个值相同连通块的 \(f\) 全赋为块内 \(\max f\),然后枚举出边转移到值更大的点。

F

根号分治,典。

G

想到离散对数不要直接觉得要用 HDU 的求离散对数科技,事实上,这道题只需要知道每个 \(a_i\) 在模 \(P\) 意义下的 \(\text{ord}\) 即可。

这个也是典(但是我之前不太会):求出 \(P-1\) 的所有素因数,不断尝试将 \(\text{ord}\) 除以每个素因数即可。(复杂度双 \(\log\)

然后变成每个素因子开一维,非严格偏序对计数了。将 \(P-1\) 的所有因子存入 map,然后在这上面做狄利克雷前缀和。

Code