「Log」2023.9.12 小记

发布时间 2023-09-13 06:53:59作者: Eon_Sky

序幕

早上状态良好,昨天睡得好。好好好。
\(\text{6:40}\):到校,整理博客,看看学点啥。

还是先学一会数论吧,然后就去写平衡树。

\(\text{7:50}\):博客写了一些,欧拉定理的部分先放一放,打算写个莫反(平衡树等会写)。
\(\text{8:12}\):式子推完了,是简单的,跟题解思路差不多,开打代码。
\(\text{8:30}\):切掉,好耶!

\(\color{blueviolet}{P2257\ YY的GCD}\)

简单莫反,考虑枚举质数,然后推出式子后设 \(T=pd\),再次化简后可得到能预处理的一坨,就这样。
\(\text{Link}\)

间幕 \(1\)

看了一会一道 AC 自动机的题,吃了个面包准备去写平衡树。

\(\text{8:50}\):开打!
\(\text{9:30}\):切掉,好耶!肉眼可见的码力上升。

打完之后 MLE 了,还好 Zpair 提醒我要用垃圾桶这种科技(以前不会)。

\(\color{blueviolet}{P2042\ [NOI2005]\ 维护数列}\)

序列平衡树维护最大字段和(必须选择至少一个),注意 \(0\) 节点的影响即可,细节较多。

似乎没调很长时间,就 push_up() 中有个 lr 打反了,用了垃圾桶优化就切掉了。
\(\text{Link}\)

间幕 \(2\)

中午复习了一下 SAM 就去吃饭了,吃拉面。
在校随机游走的时候找不到同学,就回机房了。
Zpair 的牛肉面坏掉了,iazm 帮助他打电话退款。iazm 太伟大。

吃完饭后看看书。

\(\text{13:50}\):看书看差不多了,开始做题,来点 SAM。
\(\text{12:50}\):好好好多打了个等号,切了切了。

\(\color{blueviolet}{P5341\ [TJOI2019]\ 甲苯先生和大中锋的字符串}\)

考虑所有 \(\mathrm{endpos}\) 集合大小等于 \(k\) 的状态 \(p\),其影响的是 \(\mathrm{len}(\mathrm{link}(p))+1\)\(\mathrm{len}(p)\) 这些长度的子串,于是变成了区间加,最后一次查询,考虑差分数组处理即可。

用上了优化排序,省去了建 Parent 树的过程。
\(\text{Link}\)

间幕 \(3\)

\(\text{15:40}\):接着写 SAM 题。
\(\text{15:47}\):切掉,逐渐理解 SAM。

\(\color{blueviolet}{P4070\ [SDOI2016]\ 生成魔咒}\)

考虑每次加入一个字符的贡献就是 \(\mathrm{len}(p)-\mathrm{len}(\mathrm{link}(p))\),就结束了,还是很好想的,当成 SAM 板子打的。
\(\text{Link}\)

\(\color{blueviolet}{SP8222\ NSUBSTR\ -\ Substrings}\)

首先一个等价类会影响其所包含子串的出现次数,考虑一个串出现 \(x\) 次,那么其子串一定出现至少 \(x\) 次,把区间取 \(\max\) 转换为前缀取 \(\max\)
\(\text{Link}\)

\(\color{blueviolet}{SP1811\ LCS\ -\ Longest\ Common\ Substring}\)

第二个串在第一个串的 SAM 上匹配即可。
\(\text{Link}\)

间幕 \(4\)

吃饭,吃完饭打块。
胜利的。

6bit 讲简单数论,简单的(大概)。

交了一堆以前写过的题。

回家效率极低,进行了一些思索后开始写网络流。

\(\color{blueviolet}{P3749\ [六省联考 2017]\ 寿司餐厅}\)

最大权闭合子图,并不难想,稍微变形即可。
\(\text{Link}\)

尾声

昏迷。