高精度模板
摘要:高精度模板 #include<iostream> #include<cmath> #include<string> #include<deque> #include<cstring> #include<algorithm> #include<sstream> #include<queue> #inc
阅读全文
posted @
2022-02-22 21:48
naiji
阅读(22)
推荐(0) 编辑
st表
摘要:st表 int st[100000][20];//从第i个数往后2^k个数的情况 for(int k=1;k<=20;k++) { for(int i=1;(i+(1<<k)-1)<=n;i++) { st[i][k]=st[i][k-1]+st[i+(1<<(k-1))][k-1] } } int
阅读全文
posted @
2022-02-21 14:19
naiji
阅读(12)
推荐(0) 编辑
可持久化线段树
摘要:可持久化线段树 1.概念 可持久化线段树又被称为主席树。可持久化是指更新的同时保留了历史版本,可以获得所有的历史版本。 本质上是多颗线段树,不过这些线段树共同使用了一部分枝干。 2.实现 可持久化线段树和线段树的实现有很大差别。 线段树的left和right表示区间的左右边界,而可持久化线段树的le
阅读全文
posted @
2021-12-15 15:35
naiji
阅读(231)
推荐(0) 编辑
字典树
摘要:字典树 int k = 1; int trie[1000000][26],col[1000000]; //插入算法 void insert(string& s) { int len = s.length(), p = 0; for (int i = 0; i < len; i++) { int c
阅读全文
posted @
2021-11-11 11:54
naiji
阅读(28)
推荐(0) 编辑
树状数组
摘要:树状数组 浅谈树状数组 - 王陸 - 博客园 (cnblogs.com) 首先我们要明白树状数组是一种数据结构,利用树状数组可以以空间换取时间,这一点和之前的线段树一样,但是树状数组访问会更快,效率更高,树状数组不同于线段数的一点就是这棵树的构成。 单点修改,区间查询: 记录详情 - 洛谷 | 计算
阅读全文
posted @
2021-11-11 11:53
naiji
阅读(33)
推荐(0) 编辑
线段树
摘要:线段树 浅谈线段树 - 王陸 - 博客园 (cnblogs.com) 具体例题 区间加法和区间求和: 记录详情 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 区间加法乘法,求和 记录详情 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) SCOI2010] 序列操
阅读全文
posted @
2021-11-11 11:44
naiji
阅读(31)
推荐(0) 编辑
单调栈
摘要:单调栈 单调栈,就是维护一个栈,使栈中的数据大小呈现(单调递增/单调递减)。 问题描述 给定一个n行m列的矩阵,求该矩阵的最大面积子矩阵。 #include<iostream> #include<cmath> #include<algorithm> #include<stack> #include<
阅读全文
posted @
2021-11-10 16:59
naiji
阅读(21)
推荐(0) 编辑
c++STL中的数据结构
摘要:bitset 在头文件#include中 bitset<4> a; 支持下标从0开始,0在最后面 a[0]=1;a[2]=1;//a:0101 bitset可以进行的运算: bitset<4> a,b; a=a|b; a=a&b; a=a^b; a=b<<2; a=b>>3;//移位越过的自动舍弃
阅读全文
posted @
2021-11-10 11:35
naiji
阅读(65)
推荐(0) 编辑