彼得罗扎沃茨克 冬天 2025 第一天 欢迎 J再一次 比赛

Petrozavodsk Winter 2025. Day 1. Welcome JAGain Contest.

H. Hunt For Common Prefixes

首先可以暴力枚举每个 \(s_i\),用 SA 求 LCP。根号分治一下,\(>B\) 的串用 SA,\(\leq B\) 的串在 trie 上求。

E. Experiment With Balls

考虑拿出的第一个球,设颜色为 \(i\),那么此后染色的过程必然是 \(i\to 1\)\(i\to n\)。只考虑第一部分,就是求按照某种顺序取出每种颜色的球的概率。注意到取出一个颜色后所有为这种颜色的球都没用了。所以可以直接算。

F. Find The Sum For Subrectangles

子矩形和可以写成 \(s_{l_2,r_2}-s_{l_2,r_1-1}-s_{l_1-1,r_2}+s_{l_1-1,r_1-1}\),平方拆一下得到若干个式子。

\(s_{l_2,r_2}^2\):等价于查询有多少合法的以 \((l_2,r_2)\) 为右下角的子矩形,单调栈可以维护。

\(s_{l_2,r_2}s_{l_2,r_1-1}\):定义每个左上角的权值为 \(s_{l_2,r_1-1}\),需要查询合法左上角的权值之和。对于固定的 \(l_2\),位于同一列的左上角权值相同,于是可以类似上面维护。

\(s_{l_2,r_2}s_{l_1-1,r_2}\):同理。

\(s_{l_2,r_2}s_{l_1-1,r_1-1}\):每个左上角的权值变得独立了,也可以类似维护。

\(s_{l_2,r_1-1}^2\):如果去枚举右下角的话,那么也可以类似维护。

\(s_{l_2,r_1-1}s_{l_1-1,r_2}\),枚举右下角,那么就是两部分乘起来即可。

其实剩下部分全部同理维护。

C. Camp

直接推式子题,用《具体数学》的方法不需要任何脑子。

K. Kingdom of Jagaica

套路地线段树分治,然后需要找一个充要。

我还没找到。

I. Integers and Bracket Sequences

反悔贪心题,如何费用流?

posted @ 2025-08-19 10:01  BYR_KKK  阅读(23)  评论(1)    收藏  举报