摘要:
LCT (写在前面的话:在学LCT的那段时间,我有点丧心病狂...前几道题的代码还可以看,后面的实在是...不忍直视...) LCT:用于解决动态树的一类数据结构 大体了解:用Splay维护每个链的信息,根据一系列操作完成相应要求。 细节掌握: 一般操作: (1)Splay:LCT中的Splay和正 阅读全文
摘要:
Description 今年夏天,NOI在SZ市迎来了她30周岁的生日。来自全国 n 个城市的OIer们都会从各地出发,到SZ市参加这次盛会。全国的城市构成了一棵以SZ市为根的有根树,每个城市与它的父亲用道路连接。为了方便起见,我们将全国的 n 个城市用 1 到 n 的整数编号。其中SZ市的编号为 阅读全文
摘要:
分析: 一开始我以为是裸的树形背包...之后被告知这东西...可能有环...什么!有环! 有环就搞掉就就可以了...tarjan缩点...建图记得建立从i到d[i]之后跑tarjan,因为这样才能判断出环的情况... 缩点之后重新建图就需要见d[i]到i了... 附上代码: 阅读全文
摘要:
分析: 整体二分或二分答案+主席树,反正没有要求强制在线,两个都可以做... 贪心还是比较显然的,那么就是找前K大的和...和CQOI的任务查询系统很像 附上代码: 阅读全文
摘要:
题目大意:将某个节点的颜色变为x,查询i,j路径上多少个颜色为x的点... 其实最开始一看就是主席树+树状数组+DFS序...但是过不去...MLE+TLE BY FCWWW 其实树剖裸的一批...只是在树剖上套一个动态开点的线段树就可以了...很显然的...就是注意一下细节问题,还有Map这种东西 阅读全文
摘要:
题目大意:给你一个树,支持三种操作,子树加,点到根的路径和,改变某一个点的父亲。 分析: 看起来像一个大LCT,但是很显然,LCT做子树加我不太会啊... 那么,考虑更换一个点的父亲这个操作很有意思,也就是说明,整个树的结构不会有什么大的变化,只是某个节点的父亲变了,那么也就是相当于在DFS序上顺序 阅读全文
摘要:
树形DP 树形DP:建立在树上的动态规划 一般有两种传递方式:根→叶或叶→根 前者出现在换根DP中,一般操作是求出某一个点的最优解,再通过这一个点推知其他点的最优解。 后者是树形DP的常见形式,一般树形DP都是在叶子向根转移上。 一般状态都是f[x][...]表示x的子树中如何如何 POJ_3342 阅读全文
摘要:
决策单调性 单调队列和斜率优化是属于决策单调性的一种。而决策单调性是满足四边形不等式的前提下,满足i+1-n的转移点大于等于i的决策点。而基本实现方式是整体二分或者维护双端队列并且在双端队列上二分查找。 1.基于1D/1D的DP优化 一般来说,1D/1D的DP都能通过优化,在$O(nlogn)$的时 阅读全文
摘要:
对于多串匹配一种能够理论上时间复杂度为O(n+m)的多串匹配方式,但是时间复杂度并不稳定。 原理:在trie树上建立类似KMP的next指针的东西,也就是AC自动机的fail指针,在每次匹配的时候,不停的跳fail指针直到根节点。这是最裸的实现,但是许多情况下,这种最朴素的实现方式过不去...因为这 阅读全文
摘要:
网上的题解...状态就没有一个和我一样的...这让我有些无从下手... 分析: 我们考虑,正常的斜率优化满足x(i)单调递增,k(i)单调递增,那么我们就可以只用维护一个单调队列满足对于当前的x(i)有最小值即可,因为x(i)满足单调递增。这样的话,我们就可以维护一个单调队列让队首元首最小。而这道题 阅读全文