芝士就是力量
weixin_46304837
这个作者很懒,什么都没留下…
展开
-
KMP算法详解
文章目录模板题KMP算法的大致原理next数组定义应用求法时间复杂度模板题代码 代码块部分格式不兼容,更好的阅读体验 声明:本文的字符串下标均从1开始,对于某个字符串a,a.substr(i,j)表示a从第i位开始,长度为j的字串 模板题 传送门 KMP算法的大致原理 个人认为其他博客已经讲得很好,这里简单讲,把重点放在next数组上 先推几篇博客: https://blog.csdn.net/qq_42833585/article/details/88818245 https://blog.csd原创 2020-11-12 09:17:48 · 43 阅读 · 0 评论 -
树上差分
树上差分算法详解作用做法例题推一篇博客(写得真的很好) 算法详解 作用 区间修改u到v最短路径上的点权或边权 做法 前置知识:LCA(很重要) 顾名思义,就是树上的差分,说了和没说一样 先把重要的摆在前面: 树上差分是自底向上的!!!自底向上的!!!自底向上的!!! 为什么呢? 先回忆一下差分:对于区间[l,r],每个数加上d,那么我们定义查分数组为dat,则dat[l]+=d,dat[r+1]-=d 一棵树,一个点有很多个子结点,但是只有一个父节点,如果我们自顶向下做差分以及前缀和,如果点u被修改了,以u原创 2020-11-05 09:05:13 · 110 阅读 · 0 评论 -
背包类树形DP-洛谷P2014 [CTSC1997]选课
背包类树形DP-洛谷P2014 [CTSC1997]选课背包类树形DP例题思路代码 注:本文章参考《算法竞赛 进阶指南》(李煜东2018年1月第一版P291~292),引用文本均摘自该书 背包类树形DP 又称树形有依赖的背包问题。实际上是背包和树形DP结合。除了以“节点编号”作为树形DP的阶段,通常我们也像线性DP一样,吧当前背包的“体积”作为第二维状态。在状态转移时,我们要处理的实际上就是一个分组背包问题。 另外,还可以按照“左儿子右兄弟”的方法,把多叉树转化为二叉树,再进行计算 例题 链接:http原创 2020-10-15 22:06:57 · 108 阅读 · 0 评论 -
快速幂:循环&递归
快速幂:循环&递归递归循环(一般来讲循环会比递归快)附:位运算移位(">>" & "<<")与运算(&) 递归 其实原理很简单,有初一的学历就好,你只需要知道(k为正整数): x2k = xk * xk x2k+1 = xk * xk * x 任何数的0次方都为1(除0外) 任何数的1次方都为它本身 至于为什么,问数学老师去 然后一直递归下去即可 代码(计算xk) int poww(int x , int k){ if(k == 1) return原创 2020-08-30 10:27:44 · 207 阅读 · 0 评论