上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页
摘要: 搞了一下整体二分,说一下自己的体会. 其实我个人感觉,整体二分和cdq分治在感觉上差不多,写起来其实区别也不大.整体二分其实算是二分答案的升级版,二分答案后对所有询问进行分类,然后用cdq分治中的操作进行询问排序,然后存答案输出.大体上是这样的一个算法. 区间二分有的时候可以省略一些复杂的数据结构, 阅读全文
posted @ 2018-12-14 11:34 DukeLv 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 这是我做的第一道虚树题啊,赶脚不错.其实虚树也没什么奇怪的,就是每棵树给你一些点,让你多次查询,但是我不想每次都O(n),所以我们每次针对给的点建一棵虚树,只包含这些点和lca,然后在这棵虚树上进行树形dp,维护每个点的最小连边权值,这样的复杂度就会降低不少.这里我写了两种写法(其实都是抄的),一种 阅读全文
posted @ 2018-12-13 08:46 DukeLv 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 好题,这题是我理解的第一道斜率优化dp,自然要写一发题解。首先我们要写出普通的表达式,然后先用前缀和优化。然后呢?我们观察发现,x【i】是递增,而我们发现的斜率也是需要是递增的,然后就维护一个单调递增就行了。 放一个证明题解。 设f[i]表示在i点建仓库的最小费用,易得方程:f[i]=min(f[j 阅读全文
posted @ 2018-12-10 22:13 DukeLv 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 这个题我觉得很有必要写一篇博客。首先,我们需要知道,假如一个邻接矩阵只有0/1构成,那么它自己的n次方就是走n步之后的方案数。但这个题还有2~9咋办呢。我们观察发现,这个题只有10个点,而且边权<=9我们可以想到拆点这个小操作。把每个点拆成9个点,点内连1的边,点外分别连到相应的权值就行了。 题干: 阅读全文
posted @ 2018-12-09 15:55 DukeLv 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 对于这种与gcd有关的莫比乌斯反演,一般我们都是套路的去设f(d)为gcd(i,j)=d的个数,F(n)为gcd(i,j)=d和d的倍数的个数,然后用莫比乌斯反演,然后整出一个可以整数分块的东西. 等我学完latex再发式子,详情可见luogu题解. 题干: 代码: 阅读全文
posted @ 2018-12-06 16:12 DukeLv 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 机房的人都嘲笑我博客只有两句话,我今天就要打他们的脸!!!我今天写一下FFT这个神奇的算法.首先,我们需要知道,FFT好像就是用来处理两个多项式乘积的,没有多么高端.首先思考暴力,就是暴力把n个数带入求值,然后相乘,复杂度O(n^2).我们考虑分治,分治奇偶,把奇数提出来,再进行分治.先放一个递归的 阅读全文
posted @ 2018-12-04 15:02 DukeLv 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 主席树其实我还是不太懂,但是就是一个数据结构,维护权值线段树,每次维护一个新的根节点,查询的时候直接把两个版本查就行了.剩下的做题去领悟吧! poj2104 代码: 阅读全文
posted @ 2018-11-29 19:19 DukeLv 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 文艺平衡树就是splay,维护区间反转,就是把所有左变成右,打个标记就好啦.一开始智障判断是否为根节点的时候傻乎乎的判断是否等于0...删了就好啦! 题干: 代码: 阅读全文
posted @ 2018-11-29 10:09 DukeLv 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 气死我了,调了一个下午+两节课,各种大大小小的错误,各种调QAQ,最后总之是调出来了. 其实就是一个双旋操作,然后其他就是左儿子<当前节点<右儿子,剩下就是细节了. 题干: 代码: 代码有点长... 阅读全文
posted @ 2018-11-28 09:33 DukeLv 阅读(122) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2018-11-25 22:46 DukeLv 阅读(7) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页