算法
文章平均质量分 60
CoCoNum
这个作者很懒,什么都没留下…
展开
-
暑假小练day3
1、 合并两个有序数组2、环形链表 3、三数之和4、 Z mod X = C由题意可知,x-k1y=a; y-k2z=b; z-k3*z=c; 就找特值(也就是凑!)原创 2022-07-05 23:00:10 · 230 阅读 · 1 评论 -
暑假小练day2
1、 区域和检索——数组不可变(模板题) 2、所有奇数长度子数组的和(模板题)注意处理奇数就行 3、和相同的二元子数组用哈希更新前缀和 4、Buy a Shovel(暴力)原创 2022-07-04 11:25:49 · 153 阅读 · 0 评论 -
resize()函数
resize(),设置大小(size);reserve(),设置容量(capacity)原创 2022-07-04 10:09:08 · 16378 阅读 · 1 评论 -
暑假小练day1
1、(折半查找) 2、 3、4、显然,如果数组本身的和就小于 ss,那是肯定无解的。维护 l,r,suml,r,sum 这几个变量。其中,l,rl,r 分别代表左/右指针,初始值均为一。sumsum 代表从 l 到 r 之和,初始值为 a[1]。接下来,不断进行以下判断:sum=ssum=s,此时更新答案,并将右指针右移。sums,此时左指针右移以尽可能使 sumsum 减小。直到某个指针越界为止。...原创 2022-07-03 12:06:47 · 124 阅读 · 0 评论 -
KMP算法精讲易懂(终于学会啦)
简介:KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)[1]。比较:Brute- Force算法在模式串中有多个字符和主串中的若干个连续字符比较都相等,但最后一个字符比较...原创 2022-01-19 16:07:12 · 437 阅读 · 0 评论 -
C++map()用法总结(整理)
1,map简介map是STL的一个关联容器,它提供一对一的hash。第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value);map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在map内部所有的数据都是有序的,后边我们会见识到有序的好处。比如一个班级中,每个学生的学号跟他的姓名就存在著一转载 2022-01-09 21:36:49 · 1508 阅读 · 0 评论 -
C++中cmp()用法
首先,我们来谈谈大名鼎鼎的void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));它属于C语言标准库函数,应该是运用最多的了,今天我不是来教你们怎么用qsort的,只是来交流一下排序函数的最后一个参数cmp()(它不仅可以叫cmp,你还可以给他取名叫什么pig啊dog的只要是英文单词都可以,cmp只是人们对compare的一种常用缩写)比较函数的写法。下面是cmp的写法:int cmp(转载 2021-09-16 19:37:41 · 10693 阅读 · 0 评论 -
组合问题(对应力扣77)
题⽬链接:https://leetcode-cn.com/problems/combinations/给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输⼊: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]思路看到k=2,那我就直接可以两层for循环了int n = 4;for(int i = 1; i <= n; i++) { for(int j = i.原创 2021-09-06 21:52:51 · 76 阅读 · 0 评论 -
回溯算法精讲
一、什么回溯法回溯法可以叫做回溯搜索法,是一种搜索法式,有递归就会有回溯。回溯函数也就是递归函数,指的都是一个函数。二、回溯的效率效率并不高,因为是穷举,最多剪枝一下,可以理解成暴力搜索三、回溯法解决的问题组合问题:N个数⾥⾯按⼀定规则找出k个数的集合(不强调顺序,{1,2}、{2,1}这是相同的)切割问题:⼀个字符串按⼀定规则有⼏种切割⽅式⼦集问题:⼀个N个数的集合⾥有多少符合条件的⼦集排列问题:N个数按⼀定规则全排列,有⼏种排列⽅式(强调顺序,{1,2}、{2,1}这原创 2021-09-05 21:51:25 · 182 阅读 · 0 评论 -
二叉树遍历(建树模板)
#include<stdio.h>using namespace std;const int N=1010;int pre[N],in[N],post[N]; //先序,中序,后序int k;struct node{ int value; node *l, *r; node(int value=0,node *l=NULL,node *r=NULL):value(value),l(l),r(r){}};void buildtree(int l,int .原创 2021-08-13 17:06:03 · 173 阅读 · 0 评论 -
快速幂算法模板
求 mk%pmk%p,时间复杂度 O(logk)O(logk)。int qmi(int m, int k, int p){ int res = 1 % p, t = m; while (k) { if (k&1) res = res * t % p; //防止溢出可以加1ll,即:res*1ll*t%p t = t * t % p; //此行同理 k >>= 1; }原创 2021-08-13 17:06:21 · 68 阅读 · 0 评论