
模板总结
文章平均质量分 73
和BUG做朋友的ZORO
这个作者很懒,什么都没留下…
展开
-
【基础算法】双指针算法
双指针算法模板题参考文章模板题#include<iostream>using namespace std;const int N = 100010;int a[N], st[N]; // st:标记函数,可以使用哈希表代替int n;int main(){ cin >> n; for(int i = 0; i < n; ++i){ cin >> a[i]; } int res = 1;原创 2021-03-10 15:45:52 · 265 阅读 · 0 评论 -
【基础算法】质数
质数题目总结题目总结#include<iostream>#include<vector>using namespace std;typedef pair<int, int>PII;void work(int num){ vector<PII> a; for(int i = 2; i <= num / i; ++i){ // sqrt优化 int s = 0; while(num % i =原创 2021-03-08 21:26:25 · 228 阅读 · 0 评论 -
【基础算法】递推与递归
递推与递归题目总结0x01:约数之和题目总结0x01:约数之和【题目】假设现在有两个自然数 A 和 B,S 是 AB 的所有约数之和。请你求出 Smod9901 的值是多少。【输入格式】在一行中输入用空格隔开的两个整数 A 和 B。【输出格式】输出一个整数,代表 Smod9901 的值。【数据范围】0≤A,B≤5×107【输入样例】2 3【输出样例】15注意: A 和 B 不会同时为 0。【解题思路】引进概念:算数基本定理(唯一分解定理):对于任何一个合数原创 2021-03-07 20:48:09 · 183 阅读 · 0 评论 -
【基础算法】DFS
DFS连通性DFS连通性DFS#include<iostream>#include<cstring>using namespace std;const int N = 110;char g[N][N];bool st[N][N];int n;int l1, l2, r1, r2;int dx[] = {-1, 0, 1, 0}, dy[] = {0, 1, 0, -1};bool dfs(int x, int y){ if(x == l2 &am原创 2021-03-01 21:31:46 · 316 阅读 · 0 评论 -
【基础算法】二分
二分二分0x01:基本概念0x02:版本10x03:版本20x04:实数二分0x04:连个版本的区别题目总结二分0x01:基本概念【基本思路】在闭区间 [l, r]之间,每次将区间长度缩小一半,当 l == r时,我们就找到目标值。【使用情况】在闭区间内存在边界值,左边(右边)符合,右边(左边)不符合,再根据边界值是属于那一边的分两种情况。0x02:版本1将区间[l, r]划分为[l, mid]和[mid + 1, r]时,其更新操作是 r = mid或者l = mid + 1,计算mid时原创 2021-02-28 13:15:46 · 451 阅读 · 0 评论 -
【基础算法】离散化
离散化0x10:离散化的定义0x10:离散化的定义离散化的本质,是映射,将间隔很大的点,映射到相邻的数组元素中。减少对空间的需求,也减少计算量。原创 2021-02-27 21:10:57 · 130 阅读 · 0 评论 -
【基础算法】并查集
对一些学过的算法模板进行总结并查集模板模板原创 2021-02-27 18:11:19 · 135 阅读 · 0 评论 -
【基础算法】STL容器
把自己写代码时一些经常要用到的容器做个总结,以便自己复习。目录0x10:unordered_map0x20:set0x21:常用的方法0x10:unordered_map引用头文件(C++11):#include<unordered_map>定义:unordered_map<int, int>…(第一个时地址,第二个时值)插入:hash['a'] = 1;判断key是否存在:hash.count('a') != 0或hash,find('a') != hash.end(原创 2021-02-26 15:12:42 · 100 阅读 · 0 评论 -
【基础算法】前缀和和差分
对一些学过的算法模板进行总结【基础算法】前缀和和差分0x01:前缀和题目大意:给你一个数组,在给你两个下标(l, r),需要你返回 l 到 r 的所有数据之和前缀和:给定数组g[5] = {0, 1, 2, 3, 4, 5} // 一般从下表1开始那他的前缀和数组为prefix[5] = {0, 1, 3, 6, 10, 15}前缀和性质:0x01:O(1)获取某个范围的数据之和 sum(1, 5) = prefix[5] - prefix[0] // 注意要往前移一格#inc原创 2021-02-17 12:10:20 · 135 阅读 · 0 评论