USACO22OPEN Subset Equality S
这种题往往要有一个充要条件,暴力的询问复杂度太高而预处理复杂度是 \(\mathcal{O}(1)\),显然我们要的是一个可以快速处理询问的充要条件。
两个字符串是否相等,本质是由所有字母之间的相对顺序决定的,也就是说设字母 c 第 \(i\) 次出现在 \(p_{c, i}\),我们只要知道所有 \(p_{c, i}\) 之间的大小关系就可以知道整个字符串了。而 \(p_{c, i}\) 之间的关系可以用一个邻接矩阵来表示,同时,\(x\) 在 \(y\) 之前出现 这个偏序具有传递性,也就是说,我们只要得到任意两个字符之间的邻接矩阵,就可以得到所有字符的邻接矩阵了。形式化地:对于询问集合的任一大小为 \(2\) 的子集都满足条件,则原集合满足条件。
另一个证明的方向是考虑第一个不同的位置 \(x\),\(s_x = a, t_x = b\),则只考虑 \(a, b\) 就无法满足条件。
预处理并询问大小为 \(2\) 的子集即可做到 \(\mathcal{O}(|\Sigma|^2(N+Q))\)。

浙公网安备 33010602011771号