合集-学习笔记
摘要:
并查集是一种用于管理元素所属集合的数据结构,实现为一个森林,其中每棵树表示一个集合,树中的节点表示对应集合中的元素。 顾名思义,并查集支持两种操作: 合并(Union):合并两个元素所属集合(合并对应的树) 查询(Find):查询某个元素所属集合(查询对应的树的根节点),这可以用于判断两个元素是否属
阅读全文

摘要:
鸽了, 暂时不想修 虽然数学或许考得不多,但是考了不会就完了。 多项式快速乘法 当我们想对两个多项式做卷积的时候,朴素算法就是一个一个相乘,时间复杂度 。 但是有可以做到 完成求卷积操作的算法,这里记 FFT 和 NTT ,这两
阅读全文

摘要:暂时鸽了 归不到类,说实话不知道从哪里开始。 一些记号 积性函数 没啥好说。如果一个定义在 集合上的函数 满足对于任意一对互质的正整数 都有 ,则称 为积性函数。若是对于任意正整数 都有 \(f
阅读全文
摘要:
点分治 适合处理大规模的树上路径信息。 实现 取一个中心点计算跨过中心点的贡献。(lsy说得精辟但抽象) 先随便指定一个根 ,我们能将树上的路径分为经过 的路径和包含于 的某棵子树内的路径(不经过 )。 对于经过当前根节点的路径,又可以分为两种,一
阅读全文

摘要:
不会单调队列,又看到古神拿李超树切斜率优化特别顺手,遂来学了一下,确实挺好用。 李超树 一种用来快速维护有关线段的信息的数据结构,一般是 的,在斜率优化题中用到的操作是 的(没有斜率优化题会卡 吧)。 原
阅读全文

摘要:
有些题 dp 是难做的或做不了的,这个时候可以去设计一种策略使得决策尽可能最优,也就是贪心。可以说贪心有时候是一种乱搞,但乱搞也能搞出出题人想不到的正解。 反悔贪心 有些题中直接 dp 的复杂度很高并且很难优化或者有后效性无法 dp,朴素贪心考虑可以做到 但是无法保证正确性,这个时
阅读全文

摘要:
如果一个选手比你小还比你强,你就可以退役了。 有人高一了,学会了单调队列优化dp,这下是真被单调队列了😅 能用单调队列优化dp的问题一般都是滑动窗口的形式:写出朴素 dp 转移式后发现本质上是在一段长度固定且连续的单调区间中找最值(单调区间指区间移动方向是单调增减的),这个时候就能考虑单调队列优化
阅读全文

摘要:
之前写的搬一下 扫描线应该说是一种数据结构的维护思想,处理的问题经常是查询一段区间内子区间的信息,并且可以离线处理。 大致的流程是把询问离线下来,按某个东西排序,然后从 到 遍历序列,不断加上维护的信息,在某些时刻(比如到达一个询问的端点时)把对应询问的答案给搞出来,放到数组
阅读全文

摘要:
NOIP 也许考不到,但是可以拿来骗分也说不定( 算法原理就算了,反正也不需要知道,只需要知道它在干什么并且会建图就行了。 二分图就是左右两部点,同一部内的点无连边,可以考虑建二分图后网络流。 持续放些题。 一些基本理论和建模方式 最小割=最大流 最大权闭合子图 切糕模型 二分图最小点覆盖=最大匹配
阅读全文

摘要:在图论中用这个来遍历图,形如以下: void dfs(ll id,ll fa){ for(int i=head[id];i;i=e[i].next){ ll v=e[i].to,w=e[i].val; if(v==fa) return; //…………计算东西 dfs(v,id); } } 于是我又犯
阅读全文