- 博客(8)
- 收藏
- 关注
原创 算法模板 KMP算法
算法模板 KMP算法KMP 简介KMP解释KMP算法结束KMP 简介百度百科:KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)KMP解释全有注释,别问,问就是模板,具体看算法
2020-12-03 10:38:14 273
原创 CF #685 div.2
CF #685 div.2 目前 ABCDA. Subtract or DivideB. Non-Substring SubsequenceC. String EqualityD. Circle Game结尾A. Subtract or Divide题目:A. Subtract or Divide题意:给定一个数n,定义2种操作:1.减一,2.除于它的一个真因子(不能为1或n),问,最少需要几次操作可以变为1思路:简单入门题 ,对于偶数,一般,我们只需要除于n2\frac{n} {2}2n 变为
2020-11-22 23:41:19 252
原创 CF #684 div.2
CF #684 div.2 目前 ABCA. Buy the StringB. Sum of MediansC1. Binary Table (Easy Version)结尾A. Buy the String题目:A. Buy the String题意:给定一个二进制串(01),其中,消除字符0需要C0花费,消除字符1需要C1花费,特别地,可以花费h对字符取反,问最少花费多少。思路:入门题 ,很明显只要3种可能全变为1消费,全变为0消费,照原来消费(比较下单次操作价格即可,如 c0+h<c1,
2020-11-19 21:14:15 193
原创 CF #683 div.2
CF #683 div.2 目前 ABCDA. Add CandiesB. Numbers BoxC. KnapsackA. Add Candies题目:A. Add Candies题意:给定一个n长度的初始排列,定义第i次操作为选中其中1个元素,除它外其他元素都+i,要求m次操作后,元素都相等。输出任意一个m,以及选取方案思路:知初始排列为1……n,显然,使每个元素最终都变为 n(n+1)2\frac{n(n+1)}{2}2n(n+1)是合理的,因此方法也就出来了,输出m=n,然后打印初始排列即
2020-11-16 17:21:34 336
原创 CF #681 div.2
[TOC](CF #682 div.2 目前 ABC)A. Specific Tastes of Andre题目:A.Specific Tastes of Andre题意:构造任意一个长度为n的数组,且满足它的任意子数组,其和可以整除其长度。思路:输出n个1即可代码: 略B. Valerii Against Everyone题目:B. Valerii Against Everyone题意:对于给定b数组,是否存在2个不重合的子数组使它们的 2bi2^{bi}2bi 之和相等。思路: 二进
2020-11-14 22:25:36 226
原创 CF #682 div.2
CF #682 div.2 目前 ABCA. Specific Tastes of AndreB. Valerii Against EveryoneC. Engineer Artem结尾A. Specific Tastes of Andre题目:A.Specific Tastes of Andre题意:构造任意一个长度为n的数组,且满足它的任意子数组,其和可以整除其长度。思路:输出n个1即可代码: 略B. Valerii Against Everyone题目:B. Valerii Agains
2020-11-14 14:19:22 299
原创 十大经典排序总结(C++/C 实现)
十大经典排序总结(C++/C实现) 选择排序 插入排序 冒泡排序 希尔排序 归并排序 快速排序堆排序 计数排序 基数排序 桶排序
2020-04-11 11:24:28 521
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人