
学习心得
文章平均质量分 73
santongding
这个作者很懒,什么都没留下…
展开
-
BSGS 大步小步 算法学习心得
学完才发现其实并没有那么复杂,但中间还是有很多地方困扰了我很久orz; 先安利一名神犇的博客:BSGS; 首先,大步小步的思想有点像分块,将整体划分成根号n块,再对每一小块中的根号n种取值找一个最优值; 如果看完了我安利的那篇博客的话,应该是能够自己写出随处取逆元的写法了; 但是这样的做法太慢,考虑怎么把取逆元的过程除去; 首先定义一下符号,求下式的最小整数解 ax≡b(mod&nbs...原创 2018-02-15 17:34:27 · 713 阅读 · 0 评论 -
后缀自动机(&广义后缀自动机)学习笔记
前言(=废话) 之前听zrt大佬讲过一次后缀自动机,当时他重复讲了好久我还是没听懂;最近想平复一下心情,于是选择硬啃一波后缀自动机;然后因为这玩意真特么难,打算写一篇正式点的笔记记录一下。。。当然因为个人能力原因,只能用一些形象化的语言来描述一下,并且不保证都是对的。。。只是便于理解;并且我不会去讲理论复杂度以及原理那一套,我相信别人讲得比我好得多orz,然后我就口胡一波我理解的构造过程把。。。原创 2018-04-27 23:27:33 · 1901 阅读 · 0 评论 -
吉司机线段树(segment tree beats!)
sdoir1考挂,本来都要退役了。。。结果还是进了二轮末尾。。。打算混个D类去养老;最近有点颓,需要写些东西和学些新东西止一下颓势,就先把这几星期前学的神奇线段树写了吧。。。吉司机线段树主要是用来解决序列区间上满足部分满足一定性质的修改操作的,比方说把区间中小于x的数改成x,大于x的数改成x,甚至是区间取并和区间取或(实际上也就是区间中的每个数的每一位进行类似小于x改成x那种操作)这玩...原创 2018-04-24 00:31:35 · 9005 阅读 · 0 评论 -
高斯消元与概率相关
今天在集训时听大爷们讲题听到了sdoi2017r1硬币游戏的部分分做法,发现自己一点不会,赶紧学了一波;首先一道板子题:bzoj3270 博物馆这里其主要思想是根据边的转移方向列出一个方程,详细的方程解释这位大佬说的很清楚:题解这里我主要再说一下烦了我很久的细节问题;首先,直接通过转移得到的矩阵并不是最终要求的;看一下转移方程的形式,以当前状态i为例; 一开始直接写成的是xi...原创 2018-03-31 00:20:19 · 348 阅读 · 0 评论 -
莫比乌斯反演常用套路整理
(注意,以下除法若未说明自动下取整) 首先放一个莫比乌斯反演常用的两条公式以及证明:莫比乌斯反演定理证明(两种形式) 其中主要用到的是这一条(为了强化记忆我专门手打了一遍 G(d)=∑d|nF(n)==>F(n)=∑n|dμ(d/n)∗G(d)G(d)=∑d|nF(n)==>F(n)=∑n|dμ(d/n)∗G(d)G(d)=\sum_{d|n}F(n)==>F(n)=\sum_{...原创 2018-03-24 17:46:57 · 1220 阅读 · 0 评论 -
线性基 学习心得
线性基根据我的理解就是从一组n维向量中找尽可能少的几组向量并且能够表示出空间内的所有向量; 首先,n维空间的基底肯定是n个向量的,这个通过二维或三维脑补一下就能想到 那么最简的一组基地是从原点出发向n个方向分别延伸的这n个向量; 但是根据给出的向量一般是不容易转换成这种形式的; 根据高斯消元的相关知识可以知道,一组向量之间的相加减是不会改变整体的关系的,也就是说这组向量的线性基不会变; ...原创 2018-02-25 00:03:01 · 271 阅读 · 0 评论 -
CDQ分治学习笔记
今天学了一下cdq分治,感觉这东西真的挺好用的,赶紧写点东西怕以后再忘咯 其实类似于cdq分治的东西在oi早期学排序的时候就应该学过,那就是归并排序; 归并排序的原理和cdq分治大体一样,先划分成两个区间,递归解决两边,再合并起来; 并且用归并排序求逆序对的时候本质上就是在解决一个二维偏序的问题; 首先回忆一下归并排序是怎么求逆序对的; (我太弱了不大好描述。。。归并排序相关网上找找就好...原创 2018-03-03 00:39:32 · 708 阅读 · 4 评论 -
斜率优化dp 队列版 专题学习小结
搞了一天的斜率优化,也算是有点入门吧。。。 斜率优化的题一般有个特点,在优化之前大都是区间dp的形式; 不过我只学了队列优化形式的,对于用栈来优化的还没有做过(蒟蒻逃 如果知道一个题是斜率优化dp,那么十有八九是做不错的,就我所做的裸的斜率优化dp大都遵循一个套路(那种套数据结构套cdq的另说) 首先必须要会推暴力的dp公式 然后再化简成d+kx=y的形式(没错我就是喜欢倒着写) 首先...原创 2018-02-23 22:43:12 · 225 阅读 · 0 评论 -
点分治 学习笔记
点分治这东西虽然很早就打过一次板子,但一直理解的不透彻,而且再去看之前写的那个板子居然写的是n^2暴力。。。然后今天又重新学了一遍 点分治的思想和树链剖分很类似,将一颗树尽可能均匀的分开,再合并答案,如果分开的那个点找的好的话复杂度就是nlogn的(不算其中答案统计的复杂的) 而要找的这个点就是重心,很容易就能脑补出,如果一个点是重心,那么以这个点为根的向下走一步的所有子树中节点数的最大值最小...原创 2018-03-09 00:24:48 · 217 阅读 · 0 评论 -
BZOJ 1030 ac自动机+dp
题目:文本生成器 头一次做这类题目,果然智商又不够用了 我认为主要思想是将一个虚拟的串在ac自动机上进行匹配,再把匹配的状态记录下来,而不用生成所有的串一个个进行匹配,因为前缀相同的串在ac自动机上匹配的结果是相同的,只需要在相同前缀的分支后边进行26种不同的选择,每一种再分别对应到ac自动机上的一个状态; 而dp[i][j]就是记录的长度为i,能够匹配到j的不合法串 (答案就是总的可能串...原创 2018-02-20 16:55:09 · 193 阅读 · 0 评论 -
三元环&哈希表
标题这俩东西看起来似乎八杆子打不着,不过只是我在学三元环的时候才刚学到哈希表是个什么东西。。。 关于三元环的解法感觉Claris写的就很不错→%%Claris 我在这里再简单的说一下复杂的相关; 首先可以改成单向边,全都改成由大的点指向小的点(我自己写的是相反的。。。)然后枚举每一个点i,再枚举这个点的出边,如果连出的这个点(设为k)出度小于sqrt(m)的话,再暴力枚举一下另一个点,只看这...原创 2018-03-15 00:28:17 · 770 阅读 · 1 评论 -
可修改主席树 算法总结
题目:dynamic rankings 折磨了我一天的树状数组套主席树,可算是搞懂一些; 所以马上来写一些东西防止我以后再忘掉; 带修主席树总体思路就是让树状数组的每一个节点都是一颗主席树,由于主席树和树状数组都是利用前缀和思想实现的,所以树状数组上的求和与多颗主席树的求和等价; 再加点优化,先建一颗静态主席树,然后在树状数组上维护修改量; 感觉这题代码上不加点注释很快我自己就忘了orz...原创 2018-02-09 11:11:07 · 592 阅读 · 0 评论 -
ACM 各种模板整理
线段树(示例为区间加区间求和)template<typename tp,typename tpc=tp>class segment_tree{ #define lson l,mid,rt<<1 //简化操作 #define rson mid+1,r,rt<<1|1 private: int maxn; //设置线段树长度 tp *sum; //...原创 2019-08-05 22:42:22 · 541 阅读 · 0 评论