C++算法
文章平均质量分 91
ACM与蓝桥杯竞赛
月亮邮箱
嗝~
展开
-
【算法】前后缀
目录一维前缀和1.1 朴素方法(此时时间复杂度为O(n))1.2 改进方法:2. 二维前缀和2.1 方法2.2 代码2.3 例题一维前缀和原数列a:1 2 3 4 5 6 7 8 9 s[i]=a[1]+a[2]...+a[i] 前缀和数列s:1 3 6 10 15 21 28 36 45 对于求区间[L,R]的前缀和:1.1 朴素方法(此时时间复杂度为O(n))int main(){ int sum=0; for(int i=l;i<...原创 2022-01-08 22:37:07 · 470 阅读 · 0 评论 -
【算法】枚举算法
算法详述枚举:即对可能的解集合一一列举。枚举算法的实现往往通过使用循环(嵌套)就能够轻易实现,所以并没有什么思维难度。解题思路:1. 对解的每个参数的数据范围采用循环语句一一枚举,对每次枚举采用if语句判断是否是解以及是否是最优解。枚举小技巧:1. 有时候,我们枚举的东西如果满足一个公式,我们的循环可以少写一层,优化效率。比如如果枚举A+B+C=100,我们只需要枚举A和B,C可以直接用100-A-B,这样就少一层循环。2. 当然,改变枚举的顺序也是一种小技巧。一般都是从小到大.原创 2022-01-11 22:44:46 · 4621 阅读 · 0 评论 -
A-只有一端开口的瓶子【栈】
题目描述栈就是像 "只有一端开口的瓶子" 一样的数据结构,大家可以理解为一个头部固定的数组,无论是取出数字还是放入数字,你都只能在数组末尾那一端(称为栈顶)修改。非常喜欢数据结构的周老师又在给新加入 ACM 俱乐部的小萌新们传授他的人生经验......这天,周老师得到了一个乱序的全排列,其中 1⋯n共n个数字,每个数字都恰好只出现一次。但是周老师不喜欢无序的东西,所以他总想要把这个数列弄成一个递增的新数列。但是他现在手里恰好只有一些简单的数据结构——k个栈。这些栈一开始全都为空,周老师...原创 2022-01-15 00:11:23 · 298 阅读 · 0 评论 -
【C++】STL
前言STL即 Standard Template Library (标准模板库)的缩写,是C++自带的函数库,里面包含一些可以直接使用的类或者函数。例如 sort(排序)、string(字符串)、vector(变长数组)、list(双向链表)、map(key-value对应关系)、set(集合)、queue(队列)、priority_queue(优先级队列)、stack(栈)等。1. 模板1.1 函数模板所谓函数模板,实际上是建立一个通用函数,它所用到的数据的类型(包括返回值类型、形参类型、原创 2022-01-12 20:09:44 · 381 阅读 · 0 评论