随笔分类 - 算法入门指南
摘要:快速幂 题目描述 【题意】 求a^b mod c,a,b,c都是整数。 【输入格式】 一行三个整数 a、b、c。 0 ≤ a,b,c ≤ 10^9 【输出格式】 一行,a^b mod c的值。 【样例输入】 2 5 7 【样例输出】 4 题目链接就不放出来了,因为这个OJ已经很卡了,且不登录不能看题
阅读全文
摘要:updata:修正错误 有向图强连通分量 有向图强连通分量就是在一个强连通分量里面,每个点都能到达分量里面其他所有点。(很明显的是每个点只能属于一个分量) 那么,如何求? Tarjan算法 例题 定义 我们定义一个low数组与一个dfs数组与一个ts(时间戳,不需要过多理解,下文看了就知道功能了)
阅读全文
摘要:[TOC] 二分匹配 匈牙利算法 "例题" 不说过程了,也没有动图。。。 因为只是一个比较潦草的学习笔记。 首先,我们找到一个公牛,去找一个母牛,如果她没匹配,就匹配,匹配了,就让她匹配了,就让她的公牛找別的找到了,就可以多算一对了。 当然,这样会超时,为何 虚线为未匹配边,实线为匹配边,这张图会陷
阅读全文
摘要:[toc] 总所周知,FFT是一个非常麻烦的算法,再加上博主语文不好,便写起来有点麻烦,但会尽力去写。~~要以后自己看不懂就。。。~~ 注:因为最近的压力紧张,便没有继续学习FFT,这仅为目前的半成品以及一些目前已知的优化。 参考资料 "讲解1" "讲解2" "优化" 毛啸大佬的论文(不放上下载地址
阅读全文
摘要:又是晴朗的一天! 最小生成树讲解 例题 我认为讲得比较好的博客 你以为我是这么懒得博主只复制粘贴别人博客的地址吗? 不是吗? 不是的! 当然,里面讲了两种算法的优势与劣势。 UPDATA: 对于生成树而言,你可以随意的插入一条边,并删除一条和他相关的边,如果你发现没有任何一条边加入可以使权值和变小,
阅读全文
摘要:后缀数组是真的难,我花了一个月总算有了一点比较基础的概念,然后就马上写学习笔记了QMQ。 普通后缀数组 导语 例题 暴力基排?不不不,$O(n^2)$时间,太慢了!后缀数组就是专门解决这个问题哒。 BB几句 后缀数组我分两种构建算法 倍增算法 SA-IS 其实原本只打算学SA-IS,毕竟$O(n)$
阅读全文
摘要:是不是觉得网络流的速度不尽人心? [TOC] 优化1 优化1就是我们空间的优化,有时候我们打.other是不是打得心烦气燥? 我们可以在初始化时len=1,那么以后要访问k的other时只需要k^1就可以了,简单来说就是二进制最后一位由1变0,由0变1。 同时,有时候一条边的x也不大有用,所以我们一
阅读全文
摘要:Manacher可以有效的在$O(n)$时间内解决一个字符串的回文子串的题目 目录 1. 简介 2. 讲解 3. 推介 4. 简单的练习 5. 恐怖的练习QAQ 6. 小结 简介 开头都说了,Manacher是目前解决回文子串的最有效的方法之一,可以在$O(n)$时间内处理出以这个点为中心的最大回文
阅读全文
摘要:@[TOC] 因为一本通少了一些算法,所以我就自行补充了一些东西上去。 EXKMP也就是扩展KMP,是一种特别毒瘤的东西 EXKMP确实很难,我理解他的时间与AC机的时间差不多,而且还很难记,因此一学会就马上写博客了QAQ 定义 "例题" EXKMP就是解决这种问题的。 先讲两个数组的定义(默认所有
阅读全文
摘要:[toc] AC自动机经常有人说是在字典树上~~看毛片~~ KMP,那么,到底是什么呢?我们仔细来看看吧!!!~~假装有背景,有气势。。。~~ 先庆祝一波,作为一本通的最后一个字符串里的最后一章节,当然,没有后缀数组QAQ,当然也暂时不打算去学。。。 AC机简介 AC自动机?能够自动AC题目的算法?
阅读全文
摘要:按照一本通往下学,学到吐血了。。。 "例题1" 字典树模板题吗。 先讲讲字典树: 给出代码(太简单了。。。)! "练习三" 建立信息为字典树,两个附加权值,代表被经过的次数和作为结尾的次数。 那密码进行统计。。。 怎么统计自己想~~或看代码~~ cpp include include include
阅读全文
摘要:没错,博主又开始学算法了。。。~~话说我以前不是叫自己猴子吗?~~ 还是那句话,因为是个人的感受与体验,所以写上原创。 目录 1. kmp简介 2. kmp的过程 3. 例题与练习题 4. kmp的优化 5. 小结(这次竟然有小结!) kmp简介 "模版题" 平常我们字符串匹配,暴力$O(nm)$是
阅读全文
摘要:@ Hash简介: 对于某些题目而言,在判断相等的时候,有时我们来不及或不会打一些算法了,甚至有时候连状压都会炸,这个时候,Hash无非是最好的选择。 Hash能够将一些状态通过一些方式把他们压缩到一个区间里面的某些值,并用bool类型来判重就可以了,耶! 题面懒得写了,传送门 一道不错的模版。KM
阅读全文
摘要:[toc] 差分法是我们所用的一个强力的武器! ~~有这把武器你就可以统治世界。。。~~ 一个大佬曾经讲过,一但碰到区间修改的题,就要优先考虑差分。 普通差分法 我们有时做题,会发现这么一种题。 典型的区间修改,单点查询。 单点查询简单。 但是区间修改怎么做? ~~暴力卡常。。。~~ ~~线段树。。
阅读全文
摘要:目录: 1 X思想的了解。 2. 链表的递归与回溯。 3. 具体操作。 4. 优化。 5. 一些应用与应用中的再次优化(例题)。 6. 练手题 X思想的了解。 首先了解DLX是什么? ~~DLX是一种多元未饱和型指令集结构,DLX 代表中级车、加长轴距版本、内饰改款、尊贵车豪华版车型。 百科百度~~
阅读全文
摘要:因为A*卡了一天QAQ 那么,A*是什么呢? A* A*是对于bfs的优化,启发式搜索。 例如下图: 不错,在这张图上,小人去找电脑,用bfs的话: 黄色就是bfs的搜索范围。。。不要问我为什么选黄色 Dij不会打全称 那么,A*是怎样的呢? 没看出区别?我都看不出区别 那么,这张图呢? A* 像这
阅读全文
摘要:[TOC] 引子 二分: "传送门" 三分: "传送门" (注意,是五舍六入,不是四舍五入,在2018年10月23日前是这样的) 话说一本通上不是有讲嘛,做法自己看吧。。。~~(但是我太弱了,精度版看不懂QWQ)。~~ 简单讲一下二分与三分吧。 二分 二分:必须满足单调性: 非增或非减就叫单调性(如
阅读全文
摘要:注:本人只是一个萌新,有一些地方的用语会不太专业(大佬:是十分不专业),我不会用什么技术用语,这些文章对那些跟我一样的萌新会比较适用! 最大流: 原题地址 最大流我讲的是我自己对dinic算法的一些思想,希望对你会有用! 我记网络流靠三个关键字: 1.找最短路径 将流量流向终点,且损害最少的边,这是
阅读全文
摘要:哦末,刚学了费用流,就来造福人民,哈哈,大佬勿喷(其实是GDOI爆零,心情不好写一篇博客安慰自己) 好了,回归正题,这里我只讲费用流的两种方法(没有负权环) 原题模版 一样的,建反向边,然后就开始操作了! 首先,是MCMF费用流,即连续用SPFA计算从起点到终点的最小费用,在进行SPFA中顺带
阅读全文
摘要:学完了ISAP,感觉心情舒畅,毕竟ISAP比Dinic好一点。 说到底ISAP其实是Dinic(不熟悉Dinic的人去我的博客找猴子课堂 最大流与最小割(看看思想),已经置顶)优化版,熟悉的人知道Dinic是通过不断分层来做的,但是,我们如果用打标记(貂蝉的标记)的方法就会快一些! 会快的原因就是因
阅读全文