摘要: 声明:搬运自:https://blog.csdn.net/weixin_43093481/article/details/82432254 但写上了自己的理解,对其补充以及修改,(持续更新……) 一.STL中数据结构常见操作 1. a.assign(b.begin(), b.begin()+3); 阅读全文
posted @ 2020-03-22 11:51 L·S·D 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 啥是倍增思想? 倍增,每次将范围扩大或减少一倍而达到加速的效果 举个栗子,你想要跳到15米远的地方,你怎么找到这个15这个地方,一步一步跳吗,利用倍增的话 预设一个k使2^k>15值 ,这里我们假设k=5, 2^5=32 >15 k--; k=4; 跳过了,不跳 2^4=16 >15 k--; k= 阅读全文
posted @ 2020-03-19 14:05 L·S·D 阅读(4489) 评论(3) 推荐(13) 编辑
摘要: C++ pair的基本用法总结 1,pair的应用 pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是 阅读全文
posted @ 2020-03-18 18:05 L·S·D 阅读(2118) 评论(0) 推荐(0) 编辑
摘要: #define #define宏用于定义预处理的替换规则 简单来说,#define 就是最简单的字符串替换 #define ll long long 就会把程序中所有的 ll 替换成 long long 而程序在运行时根本不会出现过 ll 他把 ll 默认理解为 long long 在一些c语言考试 阅读全文
posted @ 2020-03-18 17:59 L·S·D 阅读(841) 评论(0) 推荐(0) 编辑
摘要: 单调栈 单调栈是一种特殊的栈,特殊之处在于栈内的元素都保持一个单调性。利用单调栈,可以找到从左/右遍历第一个比它小/大的元素的位置,利用O(n)的复杂度来处理一些看似复杂的问题 假如我们想找每个数右面的第一个比他严格大的数,暴力?当然可以,那有没有什么更好的方法,利用贪心的思想,从后往前计算,如果a 阅读全文
posted @ 2020-03-17 15:33 L·S·D 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 存个组合数板子 预处理阶乘求组合数 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define ll long long 4 const ll mod=1e9+7; 5 const ll maxn=1e6+7; 6 ll pr[maxn]; 阅读全文
posted @ 2020-03-15 19:37 L·S·D 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 一.解释 以前遇到二分的题目都是手动实现二分,不得不说错误比较多,关于返回值,关于区间的左闭右开等很容易出错,最近做题发现直接使用STL中的二分函数方便快捷还不会出错,不过对于没有接触过的同学,二分函数确实是一个头疼的部分,自己查的内容又有点乱,找不到具体的使用方法,有必要自己总结一份完整的以后备用 阅读全文
posted @ 2020-03-14 01:04 L·S·D 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 哈希 简单来说,哈希相当于一种单向加密,一种映射过程,并且要尽量保证加密后不会重复,通过这种方式来替代一些很费时间的操作 字符串哈希 也叫进制哈希 当你想判断两个字符串是否相等时,不知道你有没有过一种想法,将两个字符串通过一些独特方式的计算转换成两个数字,然后判断两个数是否相等不就好了,那么进制哈希 阅读全文
posted @ 2020-03-13 20:39 L·S·D 阅读(742) 评论(4) 推荐(0) 编辑
摘要: DFS 深度优先搜索 (准确来讲 应该是递归枚举与深度优先搜索)经过好一阵的刷题,意外的发现自己不会通过枚举的方法暴力使用dfs,莫慌,那就来复习一下。 深度优先搜索 就跟他的名字一样,所谓深度优先,就是尽可能(深)的搜索,其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能 阅读全文
posted @ 2020-03-08 23:35 L·S·D 阅读(228) 评论(0) 推荐(0) 编辑
摘要: # strcat函数 我们都知道strcat(str,ptr)是将字符串ptr内容连接到字符串str后,然后得到一个组合后的字符串str 比如str字符串内容为"123456\0",ptr字符串为"abc\0",那么strcat(str,ptr)后str内容为 "123456abc\0",输出结果为 阅读全文
posted @ 2020-03-08 23:12 L·S·D 阅读(1199) 评论(0) 推荐(0) 编辑