随笔分类 - 笔记
摘要:[笔记] 斐波那契数列 基本定义 $F_0=0,\ F_1=1,\ F_n=F_+F_$当然视各个题目的体面要求,数列的初始值$F_0,\ F_1$可能会又不同 性质 一 恒等式 \(\color{yellow}{{I: }}F_1+F_2+···+F_n=F_{n+2}-1\) \(证明:\) \
阅读全文
摘要:[题解] [笔记]高斯消元 & 洛谷P3389 算法思路 消元 解决多元方程组的时候我们通常的方法有两个:加减消元和代入消元。高斯消元的原理就是加减消元。那么在解方程的时候如果要加减消元那么首先就要把某一个未知数的系数化成一样的。 放一段消元的代码 for(int i = 1;i <= n;i++)
阅读全文
摘要:题解 [笔记]期望&洛谷P3232 期望 概念 期望在信息学中指的一般是达到结果的期望,最简单的计算方法就是每个情况的概率乘以这个情况的结果的值 例题理解以及公式 问题1 持续地抛一枚硬币,直到连续两次硬币正面朝上,求期望要抛的次数 解答:设$f_0$为没有抛出过正面的期望次数,$f_1$为已经抛出
阅读全文
摘要:[笔记] [题解] 状压$DP$&洛谷P1433 状压$DP$ 状压$dp$是动态规划的一种,通过将状态压缩为整数来达到优化转移的目的 -- \(OI wiki\) 状态压缩的思想是用二进制来表示状态. 状压$dp$的时间复杂度是$O(n22n)$的,通常只能用于$n \leq 21$的数据
阅读全文
摘要:[笔记] [题解]斜率优化$DP$&洛谷P3195玩具装箱 ##可能加载的有点慢,在预览的时候可能公式显示不了,点进去看就行了QvQ 原题链 斜率优化讲解 对于洛谷上的这道题,我们设$sum[k] = \sum_^kC[i]+1$(可以把S数组视为$C$的前缀和),用$dp[i]$表示装好前$i$个
阅读全文
摘要:$DP$专题 C'est dur. 数位$DP$ 原题链 算法概述 数位$DP$主要求解的是在给定区间$l,r$中满足条件的解的个数这一类问题.我们一般把求区间$l,r$转换成求区间$0,r$和$0,l-1$,再将得到的结果相减就是答案. 对于$不要62$这个问题,我们可以设$f[i][j]$表示位
阅读全文
摘要:[笔记]ST表 原题链 算法用途 ST表主要用于解决RMQ问题(区间最值问题),可以做到$O(nlogn)$预处理,$O(1)$询问 算法描述 ST表利用的是倍增的思想,以求区间最大值为例,我们用$Max[i][j]表示$从i位置开始的$2j$个数中的最大值,例如$Max[i][1]$表示的
阅读全文
摘要:[笔记][题解]割点&lgP3388 原题链 割点的概念 在无向连通图中,如果将其中一个点以及所有连接该点的边去掉,图就不再连通,那么这个点就叫做割点. 解题方法 这个题我们用类似于缩点的方法,定义$dfn$和$low$数组,$dfn$指的是$dfs$序,$low[x]$指的是$x$节点不通过父亲节
阅读全文
摘要:[题解][笔记]lgP1368&最小表示法 原题链 算法用途 这个题就是要求在一个循环同构串中找出字典序最小的排列 算法过程 首先,因为这个数列可以把第一个元素一道最后一个去,所以我们把这个序列倍长,这样就不用对指针取模啥的,更加方便. 接着来讲算法的主体.首先我们先假设有一个排列:$7 5 3 3
阅读全文
摘要:[题解][笔记]AC自动机 算法概述: AC自动机的用途主要是在一个文本串中查询多个短字符串,它的主要构成就是一颗$trie$树再加上一些$kmp$的思想. 模拟算法过程: 首先给定$4$个模式串:\(ash\),\(shex\),\(bcd\),\(sha\).并建立一颗$trie$树. 接着
阅读全文
摘要:原题链 这个题其实完全不必用权值线段树去做,只是现在有点看不懂树状数组线段树用途更多,而且我要学线段树合并的原因 算法概述: 权值线段树其实和普通线段树没有什么本质上的区别,只是维护的东西不一样,平时我们做的线段树是维护的区间和,而权值线段树维护的是某个数或几个数出现次数的和.同时应该注意的是权值线
阅读全文
摘要:原题链 初始思路 这道题一看就是$dp$题,设$f[x]$是到$x$位置的最大冰冻效果,转移的话就是:\(f[x]=max(f[k])+val[x] -- k∈[x-r,x-l]\),但是由于数据范围的原因,裸的$dp$是不行的,我们发现我们求的是最大值,而且有转移方程是得知是一个最值加上一个定值,
阅读全文
摘要:单调队列的定义与单调栈的定义基本相同,只是在使用的时候可以支持双端队列 模板题 这个题的思路很简单,但是实现起来并不好写. 总结概括起来就是:求最大值时,维护一个单调递减的队列,队首的元素就是答案,如果遇到了一个比队尾元素大的就从队尾开始弹出元素,直到队列为空或者队列中的一个元素比当前元素大.求最小
阅读全文
摘要:原题链 单调栈,顾名思义就是存储在栈中的元素是具有单调性的(单调递增或单调递减),根据不同的要求进行维护 来看看洛谷的板子题.题目要求找第一个比当前数大的数的序号. 一开始我手推了一下,发现了如何实现单调栈,拿样例来看:栈里面先\(push\)进去\(1\),接着读取到了\(4\),发现它比栈顶元素
阅读全文
摘要:大佬的博客 原题链 代码里的注释比较多,还算详细,将就着看吧 #include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> #include <limits.h> usin
阅读全文
摘要:[笔记]树链剖分 算法概述 树链剖分就是把一棵树分成几条不相交的链来做. 变量定义 重儿子:某个节点(非叶子节点)的子树中,节点个数最多的子树的根节点(即与这个点相连的点)就是这个点的重儿子. 轻儿子:对于一个非叶子节点,它的儿子中非重儿子的剩下所有儿子就是轻儿子,也就是说叶子节点没有轻儿子或重
阅读全文
摘要:[笔记]差分约束系统 算法用途 当题面给出许多形如$x_i - x_j ≤ c_k(c为常数)$的不等式时,并让你求出一组满足条件的解时,就可以运用差分约束系统. 算法描述 首先,我们对不等式进行变形,变成$x_i ≤ x_j + c_k$的形式,这时我们可以发现,这和求最短路时的式子(\(
阅读全文
摘要:[笔记]tarjan+缩点 算法用途: tarjan可以求强连通分量,缩点则是将一个强连通分量缩成一个点 tarjan 概念 1.有向图的强连通分量:再有向图$G$中,如果两个顶点$V_i,V_j$间有一条从$V_i$到$V_j$的有向路径同时还有一条从$V_j$到$V_i$的有向路径,则称
阅读全文
摘要:[笔记]网络流--最大流问题 原题链 算法用途 解决网络流最大流问题,一般使用的是EK算法或是Dinic算法,由于Dinic的复杂度更优秀,所以我用的是Dinic,这里也只讲这个算法EK不会啊 问题描述 一.几个概念 1.网络:一个网络 $G = (V,E)\(是一张有向图,图中每条有向边\
阅读全文

浙公网安备 33010602011771号