算法详解
文章平均质量分 68
zswangziye
且夫天地之间,物各有主,苟非吾之所有,虽一毫而莫取。
展开
-
任意模数多项式乘法(MTT)笔记
对于任意模数下的多项式乘法,普通的FFTFFTFFT或者NTTNTTNTT已经无法满足我们的需求,因此我们需要寻找一种新的方法来解决这个问题,它就是MTTMTTMTT。原创 2023-07-02 20:33:54 · 281 阅读 · 0 评论 -
大步小步(bsgs)算法详解
大步小步(Baby Step,Giant Step,BSGS)算法,用来求解类似于。加入哈希表(可用map)中,再枚举。就可以算出了,方程的解也可以求出。已经给出,本算法只能解决。,在哈希表中找出对应的。例题:abc270g,接下来考虑枚举所有的。原创 2022-11-15 21:18:43 · 653 阅读 · 0 评论 -
manacher算法笔记
该算法由 Glenn K. Manacher 在 1975 年提出,是一种可以在O(N)时间复杂度下求字符串所有回文子串的算法,也是求最大回文子串最高效的算法。该算法的难度主要在于理解。求最大回文字串,首先要注意奇回文串与偶回文串的区别,如果不进行处理统一,就会使代码变得很复杂。那么怎么来统一呢?可以在每两个字符之间加上字符串中不曾出现的字符(包括头和尾),这样就可以使得字符串长度变为奇数,原因如下:设原字符串长度为k,则经过操作后变为2k+1,必定为奇数.设原字符串长度为k,则经过操作后变为2k+1,必定原创 2022-07-10 16:21:35 · 177 阅读 · 0 评论 -
【学术】20道经典题代码汇总
【目录】 高精度加法 高精度减法 高精度乘法 高精度除以整型 高精度除法 并查集 树状数组(子区间的和) 快速幂取模 埃氏筛法 欧拉函数 哈希+宽搜(八数码问题) 全排列 有重复元素的全排列 n的全排列 求n的r组合 汉诺塔问题 八皇后 自然数的拆分 手打快排 逆元 欧拉筛法 最短路减半问题 (未完待续) 【正文】 1.高精度加法 #include<bits/stdc++.h> using namespace std; string ra,rb; int lena,lenb; int a[原创 2022-03-22 20:22:41 · 260 阅读 · 0 评论 -
【算法】动态规划详解
Part 1 什么是动态规划 首先我们需要明确一点,什么是动态规划? 将一个问题分解为若干规模较小的子问题,通过求出子问题并保存子问题的解,然后再通过子问题来推导出原问题的解,这种算法就叫动态规划。 那怎么分辨动态规划算法与其他类似算法的区别呢? 你需要知道这三点: 1.最优子结构 2.状态转移方程 3.无后效性 这就是 动态规划的性质 什么,你还是分不清? 请看Part 2。 Part 2 动态规划与常见算法的区别 动态规划vs递推 动态规划的代码与递推算法是非常相似的,很多人会分不清,包括作者本人。原创 2021-08-27 20:06:50 · 530 阅读 · 0 评论