摘要:
TJOI2015 旅游 md读错题了。题意其实是每次旅游只能买卖一次。那不就是sb题了。 考虑树剖,然后维护链上的最大值,最小值,从左往右走的答案,和从右往左走的答案。合并的时候也比较简单。唯一要注意的一点是计算最终答案的时候要严格从左往右,所以会麻烦亿些。 https://loj.ac/s/133 阅读全文
摘要:
(模板)后缀树 namespace SufT { int ch[N<<1][29],link[N<<1],st[N<<1],len[N<<1],now,rem,cnt,sz; void init() {cnt=1,now=1,len[0]=inf;} int nw(int s,int l) {st[ 阅读全文
摘要:
莫队的更快的排序法 - Hilbert Order 根号相关结论&算法 CF Useful Link Binary Search 圣经 阅读全文
摘要:
\(a\) 的平均数为 \(m\) 等价于 \(\sum a_i-m=0\)。可以配合其他算法处理一些平均数的最优解问题。 例:问平均数处于 \([p,q)\) 的区间数。 相当于需要处理平均数小于 \(p\) 的数量然后减一下即可。\(b_i=a_i-p\),然后做前缀和 \(s_i=\sum_{ 阅读全文
摘要:
div2 A~C 不写了 11.10 CF1548 (VP div 2) 想打一场 div2 练手速。然后被 div2 反杀了、 开始 ABC 非常迅速地打完了,然后开始看 D。很不理解,然后想了一个很对的做法,然后疯狂 WA5。WA 到后面直接弃疗了。被反杀了 /ll 哦,D 是因为,\(n=1\ 阅读全文
摘要:
这些 DP 题中有些基础的模型和优化。做做玩玩顺便复习一下一些基本的东西。 感觉好像没怎么能搜到几个最后几题的题解啊(尽管这几题还是很简单) Z - Frog3 给定一个序列 \(h\),从 \(i\) 跳到 \(j\) 的代价为 \(C+(h_j-h_i)^2\)。求 \(1\) 到 \(n\) 阅读全文
摘要:
CSP2021 A 廊桥分配 考场上做出来了。比较简单,但是考场上脑抽了好久。 用一个 set 增量维护第 \(i\) 个飞机来后要全部填满的廊桥数,然后随便统计一下即可。 https://loj.ac/s/1281530 B 括号序列 我设计了一个比较复杂的状态,但是实际上感觉很清晰。\(f(i, 阅读全文
摘要:
什么事长链剖分: 对于每个节点令其子树高度最大的儿子的边为实边,其余边为虚边。 于是树可以剖成由实边组成的若干长链。 同重剖类似,有一个结论:对于任意节点 \(u\),其到根的路径的上的虚边数量(长链数量)是 \(O(\sqrt n)\) 级别。 CF1009F Dominant Indices 对 阅读全文
摘要:
CF1439B Graph Subset Problem 对于二可以用一个经典的求 k-core 的算法,每次拓扑删除那些度数小的点。然后到了 \(k\) 的时候我们就直接看一下是不是全部被删光了即可。 关于第一个求团。我们发现一个大小为 \(k\) 的团在不存在 k-core 的情况,这些点都必然 阅读全文
摘要:
发现自己哈希的无数个问题…… 首先蚯蚓可以用链表维护这个序列。 然后发现 \(k\) 很少,意味着每次合并或删除所动的子串数量非常少。这启发我们可以把所有出现的长度 \(\le k\) 的子串全部通过哈希塞进一个桶里面,然后查询的时候我们直接再桶中查询。 对于如何维护这个桶,我们可以用一个散列表。 阅读全文