随笔分类 - A_算法学习
摘要:其实我大概想法是想写一个动态规划的专题,然后里面可能有一些小专题,所以如果我没有鸽掉的话,这篇的链接会放入DP专题里面 这里大概就写写常见的背包问题吧。 ###01背包 可以说是最经典的背包问题了,有$n$个物品, 每个物品有一个价值$vi$和一个体积$wi$,背包的最多容纳体积之和为$m$的物体。
阅读全文
摘要:emmm突然想来讲讲状压DP,这次先简单讲讲状压DP是什么和枚举子集的方法吧。 有时间的话会做点题整理一下放上来。 ##状压DP ###状态压缩 大概是这样,比如你有n个物品,可以取也可以不取,那么我们用1代表取了,0代表枚举,排成一列长度为n的数列,就可以代表n个物品的取舍状况。 然后我们将这个数
阅读全文
摘要:摘取了以前的笔记并做了一些补充说明 ####9,素数判定 O(n) + O(1): 线性筛. 又叫欧拉筛。 先考虑一种朴素的想法。 对于每一个数$k$, 我们枚举$i$,将$ik$标记为合数。 因为每个数都可以分解成若干个素数的积,我们只需枚举每个素数作为$k$即可。 但是复杂度依然很高,我们考虑优
阅读全文
摘要:大概可以理解成存边的一种数据结构吧、 每个点会形成一条链,如果要加入一条新边,就把这条边接到对应点对应链的链尾。 这样,我们就可以从链首开始,一一遍历每一条与这个点相连的边。 用来存图是很方便的。 下面看一段代码,是从我某份代码里截取出来的。 ++tot表示为这条边新建一个节点,节点内会保存边权,指
阅读全文
摘要:问题: 给你一个数列,让你找出最长上升子序列。(子序列大概就是说从前往后按顺序取数,可以不连续取) 例如: 1 2 5 8 9 1 2 6 7 8 最长上升子序列就是1 2 5 6 7 8 ,长度为6. 如果现在我们只想求长度,那么一个十分朴素的想法就是: 令$f[i]$表示以s[i]为结尾的最长上
阅读全文
摘要:##网络流 ###定义 1,网络流 用类似水流的定义,可以把一张图视作一堆管道,从s源源不断的流水,看最多有多少水可以汇聚到t (此处的水大致可以视作是每秒一定宽度的管道流过多少水之类的。)。 2,最大流最小割定理。 显然如果不把所有可以流的边都堵死就不能算一个最小割,因为还有可以到的边。 或者说最
阅读全文
摘要:点分治 一般用于解决树上关于点对的问题(路径也可视作点对)。 基础写法 对于每个点对,我们在它的LCA处统计贡献。 于是为了减小复杂度(具体不会证),我们每次找到当前联通块的重心,然后统计这个以这个点为LCA的点对的贡献。 大致的 结构 就是这样:(随便找了一题代码放上来的) 其中后面加了 的基本上
阅读全文
摘要:[TOC] 向量 向量相关的一些基本量计算 向量的模: $|\vec{AB}| = \sqrt{(x^2 + y^2)}$ 向量的简单表示: $\vec{AB} = (x2 x1, y2 y1) = (x, y)$ 点积 公式 $$(x_1, y_1) \cdot (x_2, y_2) = x_1x
阅读全文
摘要:脑补出来的一个东西,不知道别人是怎么实现的…… 自己也还没有用写的代码交过题……不过把想法和大佬说了,应该是正确的。 例题: 一个数列,每次查询[l, r]内的数中取一个数和给定值xor后的最大值。 解法: 如果没有区间限制,那么直接将所有数都插入trie树就可以了,但是这里需要指定区间的,所以不能
阅读全文
摘要:原文链接:https://www.cnblogs.com/ww3113306/p/10413829.html [TOC] 斯特林数 斯特林数的内容主要参考自 "zzd大佬的博客" 在此基础上加上了一些自己的理解和补充内容。 还没写完 第一类斯特林数 定义 $S_1(n, m)$表示$n$个点,组成$
阅读全文
摘要:[TOC] 分治FFT 目的 解决这样一类式子: $$f[n] = \sum_{i = 0}^{n 1}f[i]g[n i]$$ 算法 看上去跟普通卷积式子挺像的,但是由于计算$f$的每一项时都在利用它前面的项来产生贡献,所以不能一次FFT搞完。用FFT爆算复杂度$O(n^2logn)$,比直接枚举
阅读全文
摘要:[TOC] 线性基 定义 线性基 一个由若干数组成的集合$S$,定义它的线性基为最小的一个集合$T$使得$S$和$T$能够异或出的值域(集合)相同 张成 一个集合$S$,随意取若干个数异或,能够凑出的数的集合称为集合$S$的张成,表示为$span(S)$ 线性相关 如果一个集合内有某个数满足:去除这
阅读全文
摘要:[TOC] 前言:发现最近都没怎么写博客,,,赶紧发篇以前记的笔记~~凑凑数~~ 卷积 卷积定义: 如果有数论函数$f, g$, 那么它们卷积的第$n$项为$(f g) (n)$,设这个卷出来的新函数为h,那么有 $$h(n) = \sum_{k | n} f(k) g(n / k) = \sum_
阅读全文
摘要:[TOC] $\Delta$以下内容主要为《线性代数》的学习笔记 按行列展开 一般来说,低阶行列式的计算比高阶行列式的计算要简单得多,因此考虑用低阶行列式来表示高阶行列式。为此,我们引入余子式和代数余子式的概念。 相当于对行列式进行降阶处理以方便运算 定义 余子式: 在$n$阶行列式中,把$(i,
阅读全文
摘要:[TOC] 行列式 $$D = \left| \begin{array}{c} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \\ \end{array} \right|$$ 上图是一
阅读全文
摘要:[TOC] 博弈论 以下主要内容来自于对集训队论文《组合游戏略述——浅谈SG游戏的若干拓展及变形》的整理与从其他地方收集补充的一些经典模型 博弈论还在学习过程中,可能还会补充一些东西 update in 2019.1.31 已更新二分图博弈 组合游戏基础定义 游戏的定义: 游戏有2名参与者,两人轮流
阅读全文
摘要:[TOC] FFT 参考blog: "十分简明易懂的FFT(快速傅里叶变换)" "快速傅里叶变换(FFT)详解" (下面的图片是来自于这2篇博客里面的,仔细看可以发现右下角有水印……) 系数表示法 一个一元$n$次多项式$f(x)$可以被表示为:$$f(x) = \sum_{i = 0}^{n}a_
阅读全文
摘要:BSGS: 求合法的$x$使得$a ^ x \quad mod \quad p = b$ 先暴力预处理出$a^0,a^1,a^2.....a^{\sqrt{p}}$ 然后把这些都存在map里 : $map[a^x] = x$ 一个合法的x满足$x = k\sqrt{p} + l$使得$a^x = b
阅读全文

浙公网安备 33010602011771号