摘要: 关于一些数学模板 线性筛 cpp for(int i=2;i 阅读全文
posted @ 2019-03-27 21:09 ADMAN 阅读(149) 评论(0) 推荐(0) 编辑
摘要: ——DavidJing提供技术支持 现将今年7月份之前必须刷完的题目列举 完成度[25/34] [195/250] 第 1 章 贪心算法 √ [11/11] ~~ 10000 「一本通 1.1 例 1」活动安排~~ ~~ 10001 「一本通 1.1 例 2」种树~~ ~~ 10002 「一本通 1 阅读全文
posted @ 2019-02-28 20:57 ADMAN 阅读(1086) 评论(0) 推荐(1) 编辑
摘要: 树状数组 总结一下树状数组。 作用 树状数组通常用于解决区间问题,总的来说它的用途没线段树广,但是常数比线段树小而且写法较为简单,所以还有一定用途。 原理 树状数组的一个核心是lowbit计算,其具体就是 int lowbit(int x){return x&-x;} 首先有一点,计算机内储存整型类 阅读全文
posted @ 2023-02-26 13:39 ADMAN 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 关于一些奇yin技巧 关于删除字符串中的一些字串,并且考虑新的字串 例题:luogu4824 luogu3121 方法:开一个栈记录,发现字串后剪去字串长度。 for(int i=1;i<=len;++i){ now=ne[now][S[i]-'a']; st[++T]=now;ch[T]=S[i] 阅读全文
posted @ 2019-04-17 19:54 ADMAN 阅读(130) 评论(0) 推荐(0) 编辑
摘要: P2757 [国家集训队]等差子序列 "题目传送门" 推荐一篇 "好题解" 此题要求我们在一个序列中找出一个等差子序列。 显然,我们只需要考虑子序列长度len=3的情况,因为在长度为4的子序列中必定有一个长度为3的子序列。 问题就变成了: 在序列找到三个数,满足a[j] a[i]=a[k] a[j] 阅读全文
posted @ 2019-04-15 21:06 ADMAN 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 关于Tarjan算法 梗概 tarjan算法有两种(我了解的),一种是用来求强连通分量的,另一种是关于割点和桥的问题。 根据机房大佬HL说过,这两种算法是互相独立的,只是代码很像。 强连通分量问题 关于这类tarjan算法,我了解到的主要的一个应用就是缩点。 "例题传送门" 思路 首先,如果我们考虑 阅读全文
posted @ 2019-03-19 21:15 ADMAN 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 初识KMP "例题传送门" KMP算法是一种改进的字符串匹配算法,时间复杂度为O(m+n)。 ​ ——百度百科 KMP算法最重要的一个内容就是next数组,它让KMP算法从普通的字符串匹配算法的O(mn)优化到了O(n+m)。 next数组主要的功能就是让两个串匹配失败时,能够快速地找到下一个匹配的 阅读全文
posted @ 2019-01-27 16:32 ADMAN 阅读(136) 评论(1) 推荐(0) 编辑
摘要: 10038.A Horrible Poem "题目传送门" 思路解析 既然这道题目在hash板块里,那么自然就可以想到用hash做这道题目。 首先我们可以用hash数组存储字符串的前缀的hash值。 因为我们需要找到S[a..b] 的最短循环节长度,所以我们可以枚举循环节长度 i 。 由于循环要遍历 阅读全文
posted @ 2019-01-07 22:38 ADMAN 阅读(304) 评论(0) 推荐(0) 编辑
摘要: Luogu 3371【模板】单源最短路径 第一次写博客用图论题来试一试 接下来是正文部分 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。 输入输出格式 输入格式: 第一行包含三个整数N、M、S,分别表示点的个数、有向边的个数、出发点的编号。 接下来M行每行包含三个整数Fi 阅读全文
posted @ 2018-06-29 19:25 ADMAN 阅读(169) 评论(4) 推荐(0) 编辑