学习小记
文章平均质量分 91
BAJim_H
比孤独更可悲的事情,就是根本不知道自己很孤独,或者分明很孤独,却把自己都骗得相信自己不孤独。
展开
-
【周博磊】强化学习纲要 一至六讲笔记
强化学习纲要笔记原创 2022-04-09 22:28:43 · 1151 阅读 · 0 评论 -
【AI学习总结】均方误差(Mean Square Error,MSE)与交叉熵(Cross Entropy,CE)损失函数
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-07-05 00:37:48 · 1843 阅读 · 0 评论 -
后缀自动机(SAM)学习小记
Text自动机的概念此处不解释。。引入我们需要一种数据结构能够识别一个字符串S的所有后缀一种方法是直接建一棵Trie树,把每个后缀扔到里面去这样的时空复杂度都是O(N^2)的,不能满足我们的要求SAM应运而生观察建好的Trie树,我们发现有很多的状态是冗余的,利用率低下核心思想SAM的思想就是将同一类的状态缩到一个点上 这样原来的Trie就变成了一个D...原创 2017-12-07 17:32:56 · 460 阅读 · 0 评论 -
Miller_Rabin素数测试与Pollard_Rho分解质因数
Miller_Rabin测试如果需要快速测试一个数是否是素数,有筛法与试除法此处介绍的是一种基于费马小定理的不确定性算法,当然,这种算法的出错率是极其微小的,尤其当选择的测试数较多时,因此在OI比赛中成为一种实用的算法好的进入正题。我们知道费马小定理,若pp为素数,那么对于a为任意正整数且a不为p的倍数时,有ap−1≡1(modp)a^{p-1}\equiv 1\pmod p然而它的逆定理并不成立,原创 2017-11-08 21:48:20 · 515 阅读 · 0 评论 -
浅谈两类斯特林数
Preface给你N个元素,M个集合(无差别),要你将这N个元素放入M个集合,要求没有空集。求方案数。Text递推方程随手YY S(i,j)S(i,j) 前i−1i-1个元素,若放入了j−1j-1个集合,那么这个元素肯定是新开一个集合,所以等于S(i−1,j−1)S(i-1,j-1) 若已经放入了jj个集合,那么这个元素在前面所有元素中选一个放入,就是S(i−1,j)∗jS(原创 2017-01-21 08:13:45 · 2910 阅读 · 0 评论 -
关于2-SAT问题
Text就是有一些布尔变量,然后它们之间有一些关系,比如说某些异或起来等于1,或者某两个and等于0之类的要判断是否无解或找出一组可行解那么把每个变量拆成两个点x和x’,代表True和false,选x代表这个变量为True,选x’代表这个变量为false然后按照上面的关系进行连边,一条边x连向y代表选了x就必须选y同时每一组x和x’只能有一个是选的,因为一个变量不可能同时是两个原创 2017-12-26 17:26:07 · 296 阅读 · 0 评论 -
【学习小记】狄利克雷卷积+杜教筛
Preface这东西分明就是玄学暴力 用来求简单的数论函数的前缀和,像φ,μφ,\mu这类的东西当然,约数和,约数个数之类的也是可以的Text数论函数是指定义域是整数,陪域是复数的函数Dirichlet 卷积定义两个数论函数f,gf,g 它们的狄利克雷卷积表示f∗gf*g,设卷起来得到的新函数是hh h(i)=∑d|if(i)g(id)h(i)=\sum\li原创 2017-07-13 21:37:03 · 3677 阅读 · 4 评论 -
利用线段树维护凸壳(李超树)
Text之前听lyd_729神犇讲过关于李超树的思想,大概是标记永久化一类的要求支持动态插入直线(线段),动态查询上/下凸壳与x=k的交点,k为整数 今天做模拟赛的时候刚好碰到一题,然而忘得差不多了 考场上自己YY了一个:线段树每一个区间都保存一条直线,表示在这个区间中这条直线有可能有一部分为凸壳中的边当我们需要插入一条直线(线段),与当前线段树区间保存的直线进行比较,看哪一个斜率大,哪一个更优原创 2018-04-01 15:30:52 · 1417 阅读 · 0 评论 -
点双联通分量,圆方树和广义圆方树
点双联通分量边双联通分量想必看这篇博客的同学就会,并且边双联通分量理解和打起来比较简单,就不再赘述了。点双联通分量,类比边双的定义,它是原图的极大无向子图,满足删去子图中任意一个节点以及与其相邻的边,其余节点仍然连通。如下图,左中两个均为一个点双联通分量,但最右边图中有两个点双联通分量(上下两部分),因为删去中间的点后他们不能联通由最右边的图可以看出,一个点可能属于多个点双联通分量,我们...原创 2018-10-16 17:19:28 · 709 阅读 · 0 评论 -
多项式多点求值
Preface首先我们需要的前置知识有:多项式取模余式定理多项式取模可以看这里余式定理的内容是这样的:对于多项式F(x),其在x=x0处的点值等于F(x) mod (x-x0)因为除式是个一次式,那么余式一定是一个常数Procedure考虑分治假设我们要求多项式F(x)F(x)F(x)在(x0…xn-1)这n个点的点值设Pl,r(x)=∏i=lr(x−xi),Fl,r...原创 2018-12-21 12:28:11 · 1752 阅读 · 0 评论 -
【学习小记】常系数齐次线性递推
问题引入给出数列ggg,满足当n>mn>mn>m时gn=∑i=1mgn−i×aig_n=\sum\limits_{i=1}^{m}g_{n-i}\times a_ign=i=1∑mgn−i×ai当n<=mn<=mn<=m时,gn=c原创 2019-01-03 22:29:19 · 1489 阅读 · 0 评论 -
一般图最大匹配——带花树算法 学习小记
Text一般图的最大匹配仍然是基于寻找增广路的增广路的定义是这样的一条路径,它不经过重复的点,并且路径两端均没有匹配,且整条路径是非匹配边-匹配边-非匹配边这样交错的。类比二分图最大匹配的增广路算法,如果我们找到了一条增广路,那么将这条增广路的边取反(匹配的变成非匹配,非匹配的变成匹配),那么匹配数会恰好+1,如果全图不存在增广路,也就说明当前已经是一个最大匹配了。(证明略)一般图和二分图...原创 2019-03-19 17:43:48 · 629 阅读 · 0 评论 -
KD-Tree 学习小记+模板
Preface听说KD树实在是个大神器可以解决多维空间多维偏序点权和,可以求某个点的空间最近最远点就二维平面上的来说,复杂度在O(nlogn)O(n\log n)O(nlogn)到O(nn)O(n\sqrt n)O(nn)不等嫌KD树不平衡了还可以来一个替罪羊树式的暴力重构再也不用担心写不出树套树了!(狗头)Text这是个什么东西呢?在一维数轴上,可以简单的比较两个值的大小,我...原创 2019-03-08 22:42:35 · 260 阅读 · 0 评论 -
【学习小记】半平面交——排序增量法
Preface之前的半平面交的算法是基于分治和凸包合并的,分治两边,计算出半平面交,再合并凸包。而这种排序增量法好写简洁常数小,适合在比赛中使用。Text为了避免半平面交区域无界的情况,我们在无穷远处四个方向加上四个半平面的限制。可以看出,有限的半平面交是一个凸包方便起见,我们用点+向量的形式来表示一个半平面,向量的左手向就是半平面的方向。定义半平面的极角为向量的极角,我们将半平面按...原创 2019-03-31 15:18:59 · 329 阅读 · 0 评论 -
【学习小记】Berlekamp-Massey算法
PrefaceBM算法是用来求一个数列的最短线性递推式的。形式化的,BM算法能够对于长度为n的有穷数列或者已知其满足线性递推的无穷数列aaa,找到最短的长度为m的有穷数列ccc,满足对于所有的i≥ni\geq ni≥n,有ai=∑j=1mcjai−ja_i=\sum\limits_{j=1}^{m}c_ja_{i-j}ai=j=1∑mcjai−jTextBM算法的流程十分简洁明了—...原创 2019-07-03 22:27:10 · 700 阅读 · 0 评论 -
【学习小记】支配树【图论】
Preface给定一个有向图和一个起点ststst,我们需要知道起点到某个点的关于必经点的信息。若起点到点v的所有路径均经过点u,则我们称点u支配点v,显然一个点支配自己本身顾名思义,支配树就是由某些支配关系构成的树。定义约定一些记号(u,v)(u,v)(u,v),表示一条从u到v的有向边fa(u)fa(u)fa(u),表示uuu在DFS树上的父亲。dfn(i)dfn(i)dfn(...原创 2019-06-26 15:16:21 · 343 阅读 · 0 评论 -
拉格朗日插值法
Text对于一个k次多项式函数f(x)=∑i=0kaixif(x)=\sum\limits_{i=0}^{k}a_ix^i有两种表示其的方法。 可以用传统的每一项的系数来表示。同时由于只要有K+1个(x,fx)的点对,就能唯一确定这个多项式,因此把这种表示法叫点值表示法。系数表示法转换成点值表示法叫求值,反过来就叫插值。当然可以高斯消元,但是复杂度比较大。主要讨论拉格朗日插值法。假设已经求得了K+原创 2017-10-06 22:03:50 · 966 阅读 · 0 评论 -
后缀数组(SA)学习小记
关于SASA这其实并不是一个特别高深的算法,但是有的性质需要自己多推一下,慢慢理解SASA可以在O(NlogN)O(N logN)的复杂度内完成对一个字符串完成后缀的排序,并且可以在O(N)的复杂度内求出排名相邻的两个后缀的最长公共前缀(LCPLCP),非常优秀的解决很多字符串问题。进入正题如果把每个后缀求出来,用快排之类的排序排是需要O(N2logN)O(N^2 log N)的复杂度的(因为还要一原创 2016-05-13 11:50:15 · 806 阅读 · 0 评论 -
神奇的线性筛法
关于线筛所谓线性筛法,显然它是线性的,所以是O(N)O(N)神奇的东西int getprime(int lim){ int i,j,num=0; fo(i,2,lim) { if (!bz[i]) { prime[++num]=i; for(j=1;i*j<=lim;j++) bz[i*pri原创 2016-06-01 21:19:58 · 726 阅读 · 0 评论 -
树链剖分
关于链剖链剖实质上是通过轻重链的划分,将树剖成一条条重链,首尾相连存进数据结构(线段树、树状数组、splay之类的),支持路径查询,修改等如何实现?定义以下几种东西重儿子 子树大小最大的儿子轻儿子 除重儿子其他的都是轻儿子重边 每个点连向它的重儿子的边轻边 连向轻儿子的边重链 重边组成的链这里总共有5条重链,1-2-4-8、5、9、3-6-10、7我们按照优先重链的DFSDFS序重新标号原创 2016-05-20 19:16:52 · 425 阅读 · 0 评论 -
差分约束系统
已知:b−a≤k1,c−b≤k2,c−a≤k3b−a≤k1,c−b≤k2,c−a≤k3b-a\leq k_1,c-b\leq k_2,c-a\leq k_3 求c−ac−ac-a的最大值随便手算一下,结果是min(k1+k2,k3)min(k1+k2,k3)min(k_1+k_2,k_3) 如果我们画一个图 对于一些约束x−y≤zx−y≤zx-y\leq z,询问是否有解...原创 2016-06-20 21:37:24 · 329 阅读 · 0 评论 -
树上基于点的分治
Preface之前一直没有时间弄这个,直到前段时间模拟赛出了一道点分治的题目,然后就眼睁睁看着人家切自己不会做。唉~Text其实这玩意是蛮水的一个东西,对于当前递归到的子树,选出一个点为根,然后分治这个点的各个子树。学问就在找这个点上。显然,找重心是最优的。找当前子树的重心,那么它的每棵子树的大小不超过当前树的一半,所以至多递归logNlog N层然后每一层最多只有NN个点,所以复杂度是NlogNN原创 2016-09-09 20:10:14 · 603 阅读 · 0 评论 -
AC自动机
Preface又是一个看似很厉害的东西啊。TextAC自动机,什么玩意?能吃么AC自动机说是什么著名的多模匹配算法然而实质上,就是在TrieTrie树(字典树)上跑KMPKMP比如说,给出一个字符串SS,很多单词,问哪些单词是字符串的子串。怎么办?我们可以将这些单词构造出一棵TrieTrie树显然我们可以从根节点向下一位位匹配然后设当前匹配到S[i]S[i],pp这个节点。我们需要构造一个叫fail原创 2016-07-16 16:23:48 · 365 阅读 · 0 评论 -
主席树
Preface为什么叫主席树呢?因为这是我们的fotile96主席(Orz……)比赛的时候不会打划分树,用来代替的一种东西,现在已经被众多OIer采用,把划分树扔进了博物馆~Text啊?主席树是什么,好高大上啊!主席树和可持久化线段树从某些角度来讲是类似的。但从目的来讲是不一样的。主席树的核心思想就是,每个前缀维护一棵线段树。 然而这样时空复杂度会达到N2log2NN^2log_2N还不如暴力呢。原创 2016-07-14 10:43:55 · 2249 阅读 · 0 评论 -
最大权闭合子图
Preface这东西一看就跟网络流之类的有关系。。。Text首先,闭合子图就是就是在有向图中,这个子图中的点的所有出边指向的点,都在这个子图中。 闭合子图有 {1,2,3,4,5} {3,4,5},{2,4,5} {4,5},{5}顾名思义,最大权闭合子图就是点权最大的闭合子图 例子中为{3,4,5}那么最大权闭合子图的权和怎么求呢?大家有空可以看一看 胡伯涛《最小割模型在信息学竞赛中原创 2016-09-26 20:53:07 · 628 阅读 · 0 评论 -
莫比乌斯反演入门
首先…\ldots我们来了解一下什么是莫比乌斯反演……假设有两个函数f(i),g(i)f(i),g(i),并且f(N)=∑i|Ng(i)\Large f(N)=\sum\limits_{i|N} g(i) 也就是 f(1)=g(1)f(1)=g(1) f(2)=g(1)+g(2)f(2)=g(1)+g(2) f(3)=g(1)+g(3)f(3)=g(1)+g(3) f(4)=原创 2016-06-13 21:00:46 · 1411 阅读 · 0 评论 -
伸展树(splay)
Preface首先呢,这是一棵二叉排序树。 然后呢,它还要是平衡的。 诸如RBT,SBT,Treap等等都可以的。 splay是理解和实现都比较简单,平均效率也比较好的一种。 但是splay的复杂度比较的玄学(这个待会会讲)Text一棵二叉排序树,左子树小于当前点,右子树大于当前点。 在不断删点加点的时候,我们需要用某些算法重构这棵树,使其达到相对的“平衡”,即使最大深度尽量小,这样每次复原创 2017-03-03 20:33:58 · 531 阅读 · 0 评论 -
一类有依赖的树形DP
Text这类问题通常形式是给定一棵树,父亲选了儿子才能选,求最优解或者方案数进行DP考虑到如果直接枚举每一个儿子与父亲的转移,状态非常大,一般是难以跑过的DFS序对于树上的问题,可以考虑用DFS序来做。我们知道一棵子树对应DFS序上的一段区间,区间的左端点是子树的根。倒过来在DFS序上DP设d[i]数组存dfs序设F[i]表示DFS序上第i~N个已经做完了 如果d[i]这个点选,可以从F[i+1]原创 2017-09-03 12:23:34 · 352 阅读 · 0 评论 -
burnside引理与Polya定理计数法
Text我们将一个集合到它自身的一个一一映射称为一个置换对于集合[1,2,3,4] (13223441)\begin{pmatrix}1 & 2 & 3 &4\\3 & 2 & 4 &1\\\end{pmatrix} 就是一个置换,把1换成3,2换成4,3换成2,4换成1我们也可以将其写成循环节的乘积的形式 因为1到3,3到4,4到1这是一个循环节 2自己构成一个循环节 (1,3,4原创 2017-11-08 17:19:30 · 625 阅读 · 0 评论 -
莫队算法+带修莫队+回滚莫队
莫队算法本质上。。似乎是大暴力。。。传说中能解决一切区间问题的算法如果我们知道区间[L,R][L,R][L,R],就能在比较短的时间内求出[L−1,R],[L+1,R],[L,R−1],[L,R+1][L−1,R],[L+1,R],[L,R−1],[L,R+1][L-1,R],[L+1,R],[L,R-1],[L,R+1]的话,那就可以用莫队算法了。有一种经典的问题:给你一些不带修...原创 2016-07-09 16:24:28 · 14033 阅读 · 2 评论 -
回文树 学习小记
Text由于实在太简单,我尽可能简略回文树的每个节点代表了原串的回文子串维护两个树,一个是偶长度,一个是奇长度每个点维护len、fail、出边len就是代表回文串的长度 fail就是这个串的最长回文后缀的位置假设当前字符串为Sx,走的这个边是字符c的那么走到的字符串就是cSxc考虑增量法构造 在末尾加入一个子符,那么从last开始沿着fail找到第一个可以两边加这个字符的位置,它新开一个这个字符原创 2017-12-09 22:01:13 · 247 阅读 · 0 评论 -
exKMP 学习小记
Text给定文本串S,模板串T n=|S|,m=|T| 数组ex[i]表示S以i这个位置开头的后缀与T的最长公共前缀的长度 要求在线性的时间内求出ext[1..n] 显然,若某个ext[i]=m,那么说明找到了一个T 因此我们将其看作KMP问题的扩展实际上这个算法与KMP完全不同,个人认为它反而与manacher有几分神似设辅助数组next[i]表示T中以i这个位置开始的后缀和T的最长公共原创 2017-11-23 15:43:44 · 538 阅读 · 0 评论 -
通俗易懂的匈牙利算法
最近复习算法的时候,发现好多讲匈牙利的教材都讲的特别恶心,其实这是一个非常容易理解的算法。匈牙利算法主要是求二分图的最大匹配主要思想是把左边的一个个匹配,冲突就尝试给前面的分配另一个点下面是详细解析 我们有四位同学,四个座位,每个同学都有自己喜欢的座位 首先是1号 1号同学直接坐在了A座位上 然后到2号 2号同学也直接坐在了B座位上 到了3号原创 2016-04-01 12:04:17 · 3896 阅读 · 2 评论