[BZOJ2225][SPOJ2371]LIS2 - Another Longest Increasing Subsequence Problem:CDQ分治+树状数组+DP

摘要:分析 这回试了一下三级标题,不知道效果怎么样? 回到正题,二维最长上升子序列......嗯,~~我会树套树~~。 考虑$CDQ$分治,算法流程: 1. 先递归进入左子区间。 2. 将左,右子区间按$x$排序。 3. 归并处理左右子区间,在过程中使用树状数组加速$DP$。 4. 还原右区间,清空树状数 阅读全文
posted @ 2018-11-27 00:40 ErkkiErkko 阅读(101) 评论(0) 推荐(0) 编辑

$FFT/NTT/FWT$题单&简要题解

摘要:打算写一个多项式总结。 虽然自己菜得太真实了。 好像四级标题太小了,下次写博客的时候再考虑一下。 模板 $FFT$模板 cpp include include include include include include include define rin(i,a,b) for(int i=(a 阅读全文
posted @ 2018-11-26 21:47 ErkkiErkko 阅读(296) 评论(0) 推荐(0) 编辑

侧边栏:内有友链,分类等等

摘要:友链 学弟学妹们 "要AKIOI的dky" "将来要暴踩博主的Gekoo" 本校同级dalao们 "SYQ优化发明者Monster_Qi" "嘤嘤怪" "最fAKe的Labelray" "神上加神的Narh" "不能再神的Zinn" 外校dalao们 "最最最最强的yyb" "神仙yyf" "SGC 阅读全文
posted @ 2018-11-24 14:21 ErkkiErkko 阅读(513) 评论(0) 推荐(0) 编辑

普通型生成函数总结

摘要:普通型生成函数 什么是生成函数? 生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。最早提出母函数的人是法国数学家$Laplace$($P.S.$在其1812年出版的《概率的分析理论》中明确提出)。 生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。 生成函数的应用 阅读全文
posted @ 2018-11-23 22:27 ErkkiErkko 阅读(477) 评论(1) 推荐(0) 编辑

[BZOJ4817][SDOI2017]树点涂色:Link-Cut Tree+线段树

摘要:分析 与 "[BZOJ3779]重组病毒" 唯一的区别是多了一个链上求实链段数的操作。 因为每条实链的颜色必然不相同且一条实链上不会有两个深度相同的点(好像算法的正确性和第二个条件没什么关系,算了算了),画图分析可得,如果用$dis[x]$表示从$x$到根结点路径上的实链段数,则$x$到$y$路径上 阅读全文
posted @ 2018-11-23 11:41 ErkkiErkko 阅读(121) 评论(0) 推荐(0) 编辑

[BZOJ3527][ZJOI2014]力:FFT

摘要:分析 整理得下式: $$E_i=\sum_{ji}{\frac{q_i}{(i j)^2}}$$ 假设$n=5$,考虑这两个数组: $a:q_1 \quad q_2 \quad q_3 \quad q_4 \quad q_5$ $b: \frac{1}{16} \quad \frac{1}{9} \ 阅读全文
posted @ 2018-11-23 09:24 ErkkiErkko 阅读(89) 评论(0) 推荐(0) 编辑

长链剖分优化树形DP总结

摘要:长链剖分 规定若$x$为叶结点,则$len[x]=1$。 否则定义$preferredchild[x]$(以下简称$pc[x]$,称$pc[x]$为$x$的长儿子)为$x$的所有子结点$ver$中,$len[ver]$最大的一个。$len[x]=len[pc[x]]+1$。 这里的$pc[x]$相当 阅读全文
posted @ 2018-11-22 21:40 ErkkiErkko 阅读(559) 评论(0) 推荐(1) 编辑

Dsu on Tree总结

摘要:Dsu on Tree(树上启发式合并) 关于Dsu? 并查集(亦称Ufs)。 然而本算法和并查集并没有半毛钱关系。 有什么用? 可以在$O(nlogn)$的时间复杂度内解决大部分不带修改的子树信息查询问题。 算法过程? 一个dfs,可能还需要写一个辅助函数Add。 简述一下算法过程: 假设现在df 阅读全文
posted @ 2018-11-22 20:13 ErkkiErkko 阅读(103) 评论(0) 推荐(0) 编辑

[BZOJ3779]重组病毒:Link-Cut Tree+线段树

摘要:分析 其实其他的题解说的都很清楚了。 一个点出发感染到根结点所花费的时间是路径上虚边的条数+1。 RELEASE相当于$access()$。 RECENTER相当于$makeroot()$。(虽然换根和打通路径的先后顺序不同但仔细想想本质其实是一样的) 所以我们可以通过维护一棵LCT来快速知道哪些结 阅读全文
posted @ 2018-11-22 09:40 ErkkiErkko 阅读(133) 评论(0) 推荐(0) 编辑

动态DP总结

摘要:动态DP 何为动态DP? 将画风正常的DP加上修改操作。 举个例子? 给你一个长度为$n$的数列,从中选出一些数,要求选出的数互不相邻,最大化选出的数的和。 考虑DP,状态设计为$f[i][1/0]$表示考虑了前$i$个数,第$i$个数选/不选的最大和。 状态转移方程显然为: $$f[i][0]=m 阅读全文
posted @ 2018-11-22 00:20 ErkkiErkko 阅读(132) 评论(0) 推荐(0) 编辑

脑残错误记录

摘要:请自己原地升天! 1、区分清楚行列$n,m,q$!!! 0、快读一定记得负数, ! 1、定义结构体没敲最后的分号。 编译失败: 2、分治$NTT$每次计算$len$时没有先清零,导致$rev$数组错误。 3、回答询问输出$Yes/No$时,最好在每个询问结束时输出,以防止单个询问重复输出多次$Yes 阅读全文
posted @ 2018-09-25 15:47 ErkkiErkko 阅读(510) 评论(0) 推荐(0) 编辑