引入 现在我们面临这样一个问题:有一个主串S,和一个模式串P,现在要查找P在S中的位置,怎么查找呢? Brute-Force(暴力求解) 思路 如果用暴力匹配的思路,并假设现在主串S匹配到 i 位置,模式串P匹配到 j 位置,则有: 如果当前字符匹配成功(即$S_i = P_$),则$i++,j++ ...
分类:
编程语言 时间:
2020-06-30 22:38:23
阅读次数:
70
bzoj4241/AT1219 历史研究(回滚莫队) bzoj它爆炸了。 luogu 题解时间 我怎么又在做水题。 就是区间带乘数权众数。 经典回滚莫队,一般对于延长区间简单而缩短区间难的莫队题可以考虑。 思路就是对于所有l在同一块的询问,只记录在这一块以外的扩展贡献,而对于在块内的部分每次暴力记录 ...
分类:
其他好文 时间:
2020-06-30 20:46:39
阅读次数:
57
快排的划分,归并排序的归并,之后的kmp都是双指针算法。 双指针算法的两大类: 指向两个区间或指向一个区间 双指针算法一般是这样的 双指针算法运用了某些单调性质,可以将暴力的O(n^2)优化到O(n) 先来一个小的问题热身,输入一行若干个用空格隔开的单词,然后依次每行输出一个单词。具体应用看这里ht ...
分类:
其他好文 时间:
2020-06-30 10:56:43
阅读次数:
44
数论 整除分块 0.1 前言 一个常常与莫比乌斯反演一起使用的技巧,单独使用也有一定用武之地。 1.1 问题 整除分块用以解决以下问题: \(\sum_{i=1}^{n} \lfloor \frac{n}{i} \rfloor\) 1.2 暴力法 失去算法,失去很多;失去暴力,失去一切 暴力是显然的 ...
分类:
其他好文 时间:
2020-06-29 22:54:30
阅读次数:
48
原文地址:https://zhuanlan.zhihu.com/p/93530380 解决一个回溯问题,实际上就是一个决策树的遍历过程。你只需要思考 3 个问题: 1、路径:也就是已经做出的选择。 2、选择列表:也就是你当前可以做的选择。 3、结束条件:也就是到达决策树底层,无法再做选择的条件。 如 ...
分类:
编程语言 时间:
2020-06-29 22:53:20
阅读次数:
82
题目链接:two-num 思路一:两层for循环暴力求解,结果超时 1 def twoSum(nums,target):#使用二维数组 2 for i in range(len(nums)): 3 for j in np.arange(i+1,len(nums)): 4 if(nums[i] + n ...
分类:
其他好文 时间:
2020-06-29 17:11:10
阅读次数:
41
题意:判断第二组数据在第一组数据的哪一堆中。 思路: 给当前连续的堆进行book标记,同一堆标记成一样的就可以了。 最后输出询问的数据所在book的位置。 AC代码: #include <iostream> #include <string.h> #include <algorithm> #incl ...
分类:
其他好文 时间:
2020-06-28 22:52:52
阅读次数:
103
bzoj4182/luoguP6326 Shopping(点分治,树上背包) bzoj它爆炸了。 luogu 题解时间 如果直接暴力背包,转移复杂度是 \(m^{2}\) 。 考虑改成点分治。 那么问题来了点分治有什么优点呢? 每次从分治中心开始搜索进行dp,保证从根到当前点都被购买至少一件。 这样 ...
分类:
其他好文 时间:
2020-06-28 22:25:24
阅读次数:
66
这是一篇题解类似物 提交记录记录了我的非酋历程 乘法逆元× 凭脸过题√ 传送 我们首先看到这个东西 妙哇 对每个数都求一次逆元肯定是会被卡的,我们来看看要输出的东西有什么优雅的性质 我们不妨先暴力通分一下 原式= \[ \frac{1}{a_1a_2.....a_n} \sum_{i=1}^{n}\ ...
分类:
其他好文 时间:
2020-06-28 22:06:28
阅读次数:
50
方法一 暴力枚举所有可能的子数组,也就是枚举子数组的所有开始下标和结束下标,计算子数组的和,如果子数组的和小于等于s,就更新最小长度。 class Solution { public: int minSubArrayLen(int s, vector<int>& nums) { if(nums.si ...
分类:
编程语言 时间:
2020-06-28 20:34:15
阅读次数:
50