摘要: 辗转相减法的扩展 $gcd(x, y, z) = gcd(x, y - x, z - y)$ 当有n个数时也成立 所以构造$a_{i}$的差分数组$b_{i} = a_{i} - a_{i - 1}$,用一个线段树来维护b数组的gcd,这样每次区间修改相当于两次单点修改 考虑到询问的时候$ans = 阅读全文
posted @ 2018-08-15 10:36 CzxingcHen 阅读(308) 评论(0) 推荐(0) 编辑
摘要: NOIP2017最后一道题 挺难想的状压dp。 受到深度的条件限制,所以一般的状态设计带有后效性,这时候考虑把深度作为一维,这样子可以保证所有状态不重复计算一遍。 神仙预处理:先处理出一个点连到一个集合所需要的最小代价,然后再处理出一个集合连到一个集合所需要的最小代价 设$g_{s, t}$表示从s 阅读全文
posted @ 2018-08-15 08:59 CzxingcHen 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 点开这题纯属无聊……不过既然写掉了,那就丢一个模板好了 不得不说,可持久化并查集实现真的很暴力,就是把并查集的数组弄一个主席树可持久化。 有一点要注意的是不能写路径压缩,这样跳版本的时候会错,所以弄一个按秩合并来降低时间复杂度。 总时间复杂度$O(nlog^2n)$。 听说用siz实现按秩合并会比较 阅读全文
posted @ 2018-08-14 21:43 CzxingcHen 阅读(162) 评论(0) 推荐(0) 编辑
摘要: BZOJ1009 妙! 推荐这篇题解: https://www.luogu.org/blog/Edgration/solution-p3193 考虑设计dp,设$f_{i, j}$表示长串匹配到i,短串匹配到j的方案数,初值有$f_{0,0} = 1$ 那么最后的答案 $ans = \sum_{i 阅读全文
posted @ 2018-08-14 13:16 CzxingcHen 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 树剖已经是人尽皆知的sb题了吗…… 很早以前就想填掉这坑了…… 考虑到树链唯一,进行操作并不会对换根产生影响,那么我们的换根操作只要记下root在哪里就好了 询问的时候分类讨论: 1:root == x 直接返回全树最大值就好了 2:lca(root, x) != x,那就和x没什么关系了,只要返回 阅读全文
posted @ 2018-08-14 09:50 CzxingcHen 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 随手点开一个题。 咦,这不是裸的动态开点线段树吗?写一个写一个…… Code: 写完题的我: 内存太小,差评,卡常数,差评……这sb题…… 点开题解: ……大概说的就是我…… 没事复杂度其实是一样的 警醒a!!!不要一上手就乱写数据结构…… 阅读全文
posted @ 2018-08-13 19:24 CzxingcHen 阅读(153) 评论(2) 推荐(0) 编辑
摘要: 我就是过来开心一下……这道题从开坑以来已经堆积了大半年了……今天才发现广搜一直写挂…… 丢个线段覆盖的模板,设$f_{i}$表示覆盖区间[1, i]的最小代价,$g_{i, j}$表示覆盖区间[i, j]的代价,有转移方程 $f_{i} = f_{j} + g_{j + 1, i}$ $(0 < j 阅读全文
posted @ 2018-08-13 18:43 CzxingcHen 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 弄完之后点进去一看,竟然是div1的D题……最近真是天天被题虐哭 推荐这一篇博客 https://www.cnblogs.com/Sakits/p/8085598.html 感觉讲清楚了,也是基本照着这个写的 一开始题意没有读清楚,这题保证了所以树链都是从下往上的,所以才可以设计dp。 要把询问映射 阅读全文
posted @ 2018-08-13 15:37 CzxingcHen 阅读(1684) 评论(0) 推荐(0) 编辑
摘要: dp,方程很好想,我们设$f_{i, j}$ ,表示前j个数字划分成i个区间的最大价值, 设$g_{l, r}$表示[l, r]这个区间中颜色的数量,有转移: $f_{i, j} = max(f_{i - 1, k} + g_{k + 1, i})$$(0\leq k < j) $ 用一个数据结构优 阅读全文
posted @ 2018-08-13 10:06 CzxingcHen 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 按照vdcc缩点之后一条边只会属于一个新的点集,由于这棵树上满足(不是割点) - (割点) - (不是割点)的连接方法,所以求两条边之间的必经点就是(树上距离 / 2),倍增跳lca即可 考虑到缩点后树上点数的编号可能超过n,所以与树有关的数组开两倍N 又是一个模板 Code: lyd给的std好难 阅读全文
posted @ 2018-08-13 10:04 CzxingcHen 阅读(239) 评论(0) 推荐(0) 编辑