![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Algorithm
文章平均质量分 90
Summary of common algorithms in algorithm competition.
南判
这个作者很懒,什么都没留下…
展开
-
浅析马拉车Manacher算法(附Codeforces 17E Palisection)
引入在字符串问题处理中,常常会遇见处理回文串的问题。那么首先就要介绍一下什么是回文串——回文串就是对于一个字符串,原创 2020-04-06 17:53:52 · 309 阅读 · 0 评论 -
神奇的数学——差分
定义差分就是对于一组序列,将该项与其前一项作差所得到的序列,其中差分序列第一项与原项相同(即第一项−0-0−0),最后一项与原项互为相反数(即0−0-0−最后一项),同时需要注意的是,差分序列比原序列多一项,这是因为最后一项的差分多引入了一个0来作差。例如对于序列:1,3,2,5,6,8,31,3,2,5,6,8,31,3,2,5,6,8,3,其差分序列为:1,2,−1,3,1,2,−5,−31...原创 2020-04-06 16:21:35 · 523 阅读 · 0 评论 -
再探字符串匹配——Z算法/Z-BOX算法(附CF 149E-Martian Strings )
前言关于字符串匹配,最常见使用最广泛的即KMPKMPKMP算法,该算法通过对模式串的子串的前后缀进行处理而减少回溯次数,提高匹配效率,相关内容参考浅析字符串匹配算法——KMP算法。此文主要讨论字符串的另一种匹配算法——ZZZ算法/Z−BOXZ-BOXZ−BOX算法。原理何为ZZZ算法,ZZZ算法的主要设计思想是通过一个zzz数组来记录一个字符串的后缀与该字符串的最大前缀匹配长度。换句话说,z...原创 2020-03-11 22:59:06 · 392 阅读 · 0 评论 -
浅析字符串匹配算法——KMP算法(附CF 535D-Tavas and Malekas)
引入在计算机中,人类的语言、文字等往往利用字符串进行保存,而字符串的匹配也对人们的生活产生着举足轻重的作用,例如个人信息的匹配、搜索引擎的使用等,为了在庞大的数据中找到我们所需的数据,字符串匹配的效率就决定了解决问题的难易程度。实现对于字符串的匹配,最简单且最容易实现的方法就是将模式串与文本串一一比对,观察每一位上的字符是否相等,如果不等则将模式串后移一位,再逐一进行比对,假定模式串的长度为...原创 2020-03-07 17:24:54 · 288 阅读 · 1 评论 -
浅析快速幂
引入对于整数a,b,pa, b, pa,b,p,要求计算ab mod pa^b\ mod\ pab mod p的值,朴素算法很容易实现,只需要进行bbb次累乘即可得到结果,并注意在累乘过程中防止溢出,即利用(a∗b)mod p=(a mod p ∗ b mod p)mod p\...原创 2020-02-24 09:40:50 · 93 阅读 · 0 评论 -
浅析字符串哈希
何为字符串哈希所谓字符串哈希,即对一个字符串形成单向加密的过程,使其拥有尽可能独一无二的编号,通过这种低概率的编号重复,使得字符串的匹配尽可能高效。如何字符串哈希最普遍的字符串哈希方式,即进制哈希。核心是将字符串上的每一个字符理解为一个数字,然后固定一个进制,将该字符串转化成一个该进制下的的数,作为其哈希值,然后通过比对哈希值,判断两个字符串是否相等。ll Hash(char s[]){...原创 2020-02-17 11:59:51 · 328 阅读 · 0 评论 -
浅析Simpson算法
Simpson算法用于求解定积分一类问题。思路是用抛物线对原函数进行拟合,在误差足够小的前提下近似得到原函数的积分值。参考博客inline double function(double t){ //所求积分函数}inline double simpson(double m, double n){ double mid = m + (n - m) / 2; return (n ...原创 2020-02-06 09:56:55 · 1797 阅读 · 0 评论