12 2018 档案

摘要:这个题比一般主席树还要简单,但是用来练习主席树再好不过了,在这里我再放一下主席树板子。 代码: 阅读全文
posted @ 2018-12-22 14:29 DukeLv 阅读(217) 评论(1) 推荐(0)
摘要:lct是一种动态树,用来维护一些动态加边删边的操作的东西.他主要用到几个操作,其实这个算法和树链刨分有点像,但是不能用线段树简单维护,所以我们要用多棵平衡树来维护树上的一个个子树,然后就进行一些很秀的操作.详情见这个博客:FlashHu 这个博客讲的是真的好,特别适合新手看,而且特别细节,(特别带劲 阅读全文
posted @ 2018-12-19 19:21 DukeLv 阅读(360) 评论(1) 推荐(0)
摘要:搞了一下整体二分,说一下自己的体会. 其实我个人感觉,整体二分和cdq分治在感觉上差不多,写起来其实区别也不大.整体二分其实算是二分答案的升级版,二分答案后对所有询问进行分类,然后用cdq分治中的操作进行询问排序,然后存答案输出.大体上是这样的一个算法. 区间二分有的时候可以省略一些复杂的数据结构, 阅读全文
posted @ 2018-12-14 11:34 DukeLv 阅读(153) 评论(0) 推荐(0)
摘要:这是我做的第一道虚树题啊,赶脚不错.其实虚树也没什么奇怪的,就是每棵树给你一些点,让你多次查询,但是我不想每次都O(n),所以我们每次针对给的点建一棵虚树,只包含这些点和lca,然后在这棵虚树上进行树形dp,维护每个点的最小连边权值,这样的复杂度就会降低不少.这里我写了两种写法(其实都是抄的),一种 阅读全文
posted @ 2018-12-13 08:46 DukeLv 阅读(177) 评论(0) 推荐(0)
摘要:好题,这题是我理解的第一道斜率优化dp,自然要写一发题解。首先我们要写出普通的表达式,然后先用前缀和优化。然后呢?我们观察发现,x【i】是递增,而我们发现的斜率也是需要是递增的,然后就维护一个单调递增就行了。 放一个证明题解。 设f[i]表示在i点建仓库的最小费用,易得方程:f[i]=min(f[j 阅读全文
posted @ 2018-12-10 22:13 DukeLv 阅读(171) 评论(0) 推荐(0)
摘要:这个题我觉得很有必要写一篇博客。首先,我们需要知道,假如一个邻接矩阵只有0/1构成,那么它自己的n次方就是走n步之后的方案数。但这个题还有2~9咋办呢。我们观察发现,这个题只有10个点,而且边权<=9我们可以想到拆点这个小操作。把每个点拆成9个点,点内连1的边,点外分别连到相应的权值就行了。 题干: 阅读全文
posted @ 2018-12-09 15:55 DukeLv 阅读(242) 评论(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 阅读(170) 评论(0) 推荐(0)
摘要:机房的人都嘲笑我博客只有两句话,我今天就要打他们的脸!!!我今天写一下FFT这个神奇的算法.首先,我们需要知道,FFT好像就是用来处理两个多项式乘积的,没有多么高端.首先思考暴力,就是暴力把n个数带入求值,然后相乘,复杂度O(n^2).我们考虑分治,分治奇偶,把奇数提出来,再进行分治.先放一个递归的 阅读全文
posted @ 2018-12-04 15:02 DukeLv 阅读(229) 评论(0) 推荐(0)