摘要:
问了 阿丑 两道题的询问操作部分,发现我两次问的东西是一模一样的东西:树上差分。 一道是主席树题P3302 [SDOI2013]森林,一道是线段树合并P4556 [Vani有约会]雨天的尾巴 /【模板】线段树合并 对 \(x\) 到 \(y\) 路径上的点进行操作时,找到 \(lca\) 和 \(f 阅读全文
摘要:
听周神讲完,对此有些新的理解吧 证明决策单调性,不会四边形不等式也没关系 先以经典题P2900 [USACO08MAR]Land Acquisition G/土地购买为例。 \(f[i]=\min\{f[j]+y[j+1]*x[i]\}\) 用 \(g[i]\) 表示转移到 \(f[i]\) 最优的 阅读全文
摘要:
//合并 int merge(int x,int y){ if(!x || !y) return x|y; if(t[x].key>t[y].key) swap(x,y); t[t[x].rs=merge(t[x].rs,y)].fa=x; if(t[t[x].rs].d>t[t[x].ls].d) 阅读全文
摘要:
还记得2019年暑假,gy在英乐华翻开ybt提高篇的目录 概述 通常来讲,KMP 算法用来处理单模式串匹配问题。而若要处理多模式串的问题,就要引出 AC自动机 。 AC自动机 是以 Trie 的结构为基础,结合 KMP 的思想建立的。 步骤 将所有模式串构建成一棵 Trie 树 对 Trie 上所有 阅读全文
摘要:
(1)Rotate(x) 将 \(x\) 向上移动一级,并将 \(fa[x]\) 作为儿子,保持 \(BST\) 的性质。 inline void Rotate(const int &x){//旋转 int y=fa[x],z=fa[y]; int b=(lc[y]==x)?rc[x]:lc[x]; 阅读全文
摘要:
view in Push_Y's blog 思路 对于一段连续的能够互相到达的站点,这里不妨称它为一个连通块 考虑用线段树维护每一个连通块 对于一个连通块里的每一个站点,存下这个连通块的左右端点(即一个站点所能到达的最左端和最右端) 对于一次连通块改变的操作,以操作的时刻 \(t\) 来记录对答案产 阅读全文
摘要:
view in Push_Y's blog view in 博客园 view in 洛谷博客 2021.01.26 来WZHS了有望复出 2021.01.31 发现东西都忘光了,得从基础的基础开始复习了。。。 2021.03.10 发现真正做题之后根本不会记得来这里记录,很能拖更啊。。。 2021. 阅读全文
摘要:
思路 “向左看齐”和“向前看齐”这两条指令,相当于在序列中删除一个元素并维护行、列中的相对顺序。 由于此题是教练给出的平衡树习题,想到用平衡树来维护所谓的序列。 对每一行开一棵平衡树,删除 \((x,y)\) 相当于在第 \(x\) 行的平衡树中删除第 \(y\) 个元素。在删除之后,我们发现这一行 阅读全文
摘要:
view in Push_Y's blog 思路 贪心 首先很容易贪心的想到,最优的情况肯定是“买的时候把钱花完、卖的时候把券卖完”。 推柿子 记第 \(i\) 天结束时最大的钱数为 \(f_i\)。 考虑通过输入给出的每组 \(A_i,B_i,R_i\),计算出第 \(i\) 天结束时所能买到的两 阅读全文