Mai Icy
算法学习笔记9——后缀数组
算法学习笔记(9): 后缀数组 定义 后缀数组是对后缀的一个排序,每个后缀按照字典序进行排序,然后用两个数组来映射它们自己和它们的排名。 同时,为了便于记录后缀,我们记字符串s的后缀s[i:]记...
ACM程序课算法笔记11——差分约束
ACM程序课算法笔记11——差分约束 差分约束方程组 差分约束指的是一种多个元素之间差的限制,而求某两个值的最大差。 例如求: x1 - x0 <= 2——① x2 - x0 <= ...
ACM程序课算法笔记10——最短路径问题
ACM程序课算法笔记10——最短路径问题 松弛 最短路算法中,松弛是最关键的思想,彻底的理解松弛,就能理解最短路径的算法。 以下是边的松弛,而且是有向边的松弛。 void relax(Weigh...
ACM程序课算法笔记9——计算几何入门
ACM程序课算法笔记9——计算几何入门 线段属性 1.给两条有向线段p0p1和p0p2,线段1是否在线段2顺时针方向? 2.给两条有向线段p0p1和p1p2,线段2是左拐还是右拐? 3.给两条有...
算法学习笔记8——同余
算法学习笔记(8): 同余 前置知识: 整除:当 A / B 为一个整数, 则称 B 整除 A 符号记作:B|A 同余:同余是一种二元关系,需要第三者作为模也就是 A % p == B % p...
ACM程序课算法笔记8——二分答案
ACM程序课算法笔记8——二分答案 问题一:序列划分 问题描述: 给定n个正整数数组a,将这个序列从左到右划分成m段,使得每段至少有一个数;你需要让数字之和最大的那一段的数字和尽可能的小;求最大...
算法学习笔记7——根号分治
算法学习笔记(7): 根号分治 根号分治是一种对暴力的优化,类似于一种优雅的暴力。 对于一个问题的解决,我们可能有多种暴力的思路,但对于暴力思路A来说,空间占用过大。对于暴力思路B来说,时间占用...
《How does a relational database work》阅读笔记
《How does a relational database work》阅读笔记 当你进行一个数据库请求的时,会优先发送给客户端管理器 客户端管理器 查看你的用户密码是否有权限(是否有权限访...
算法学习笔记6——ST表
算法学习笔记(6): Sparse Table (ST 表) 简介 ST 表 是一个数据结构,用于计算RMQ问题,其思想基于动态规划 RMQ问题 RMQ即Range Minimum / Maxi...
算法学习笔记5——异或哈希
算法学习笔记(5): 异或哈希 简介 异或哈希主要利用了异或操作的特殊性,再从特殊性出发,解决阻挡特殊性的问题。 异或操作的特殊性 异或操作是对数字的二进制表示按位相加并对2取余,它的运算十分高...