专栏文章

ZJCPC2025 补题

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minnpb31
此快照首次捕获于
2025/12/02 05:23
3 个月前
此快照最后确认于
2025/12/02 05:23
3 个月前
查看原文
只补后面的题。

C.

首先答案的质因子一定来源于第一个数的质因子或其翻转,由此我们可以得到答案质因子个数不超过 log\log。预处理此,然后分因子处理。
对于一个质因子的某次方 pap^a,棋盘中每个位置无外乎 4 种情况:必须翻、必须不翻、无所谓、翻和不翻都不行。最后一种直接让这个 pap^a 倒闭,前两种则给出了能影响到这个格子的两条对角线之间的限制。将对角线视作点,限制连边,一个连通块若有解一定有两解(全翻一下),判定可以直接 dfs 染色。
维护一下每个连通块是否合法,以及每个 pap^a,是否所有连通块都合法,然后把所有合法的 pagcdp^a \gcd 起来即可。修改是单点反转颜色,每个 pap^a 只会修改 1 个连通块,单次询问复杂度是 O(log)O(\log) 的。

A.

变态啊,想了一晚上你告诉我分块。
预处理 fi,gif_i,g_i 表示必选 ii 的前/后缀最大权 LIS。考虑答案只可能来自:
  • maxi<lfi,maxi>rgi\max_{i<l}f_i, \max_{i>r}g_i
  • maxi<l,j>r,aiajfi+gj\max_{i<l, j>r, a_i\le a_j}f_i+g_j
第一种 trivial,不管他。第二种分块。
预处理 prei,jpre_{i,j} 表示 ii 及以前的块里的 maxakjfk\max_{a_k\le j}f_ksufi,jsuf_{i,j} 表示ii 及以后的块里的 maxakjgk\max_{a_k\le j}g_k。然后可用这两个信息得到前 ii 块和 [j,m][j,m] 之间的答案(后缀同理)。至此一个询问还剩散块之间没处理,排序后双指针即可。

评论

0 条评论,欢迎与作者交流。

正在加载评论...