摘要:
鸽了好久的题。 考虑先拍扁到一个序列上。 那么就是询问有多少个区间满足$max - min = r - l$ 考虑无法直接统计。 我们考虑对每个$r$来统计。 在$r$向右扩展的同时要维护的值$max,min,l,r$ 考虑到$r - l \leq max - min$ 那么如果我们不考虑常量$l$ 阅读全文
摘要:
在补NOIonline 先随手做一下这个T2的弱化版。 感觉这个就是T2的trick $tire$树认知不够,数位思想差啊。 考虑用$tire$树维护数集,然后高位往低位处理$l$,如果$l_i$为$1$,则和$p_i$相同一侧子树可以全部加入答案,再走和$p_i$不同一侧递归下去,若$l_i$为0 阅读全文
摘要:
思路不说了。 想起来自己打比赛的时候,没睡好。随便写了个$HASH$,模数开小一半分都没有。 然后学了$SAM$,发现这个判重不就是个水题。 $SAM$是字串tire的集合体。 随便$dfs$一下就好,然后复杂度是$O(n^2)$即遍历所有子串 [NOI Online 2021 提高组] 积木小赛 阅读全文
摘要:
又想假了。 刚开始以为是个网络流啥的。说起来这个题网络流到底能不能做,感觉很可做的样子。 \(2-sat\)。 考虑对于每个非$x$点均有只有两个选择。 而$x$点的数量是非常少的,我们可以直接枚举他的状态。 每个$x$点只要枚举$AB$和$BC$的状态就好了。 代码鸽了。 阅读全文
摘要:
不是很会做。 大概是以前没有见过这种trick的原因。 自己想到了线段树维护出现点数,但是不会统计答案。 先分析一些东西: 首先因为只有$m$个区间要被选,且答案贡献为$max - min$,可以考虑尺取。 感觉知道这个核心$trick$就能做了。 从小到大加入,线段树随便维护一下。 [NOI201 阅读全文
摘要:
最近状态差到爆炸. $AT$连掉两把分,啥时候能上黄啊。 \(A\) 考虑直接动归。 把$O(n^2)$的动归后缀和优化成$O(n)$ A #include<iostream> #include<cstdio> #define ll long long #define N 100005 #defin 阅读全文
摘要:
巨大缝合题(逃 先考虑$k$小操作啊,$SAM$除去$link$后,这个东西就类似于一颗$tire$。 就在$tire$上跑就好了。 不过要预处理出每个等价类的出现次数。 这题充分揭示了后缀$tire$和$SAM$的关系,$SAM$实际上为路径压缩后的后缀$tire$树的聚合体。 [TJOI2015 阅读全文
摘要:
$SAM$真牛逼( 又好理解,又好敲,我爱了。(对比$SA$) 这是一个新的问题:考虑构建完$SAM$,本质不同的子串个数。 利用endpos集合树的性质,那么答案为$\sum len_u - len_$ [SDOI2016]生成魔咒 #include<cstdio> #include<map> # 阅读全文