模板函数
iuk11
我想去更远的地方看看,现在还缺少载具。
展开
-
KMP模板
先导概念s[ ] 模式串p[ ] 匹配串非平凡前缀 指除了最后一个字符以外,一个字符串的全部头部组合(前面连续的部分)非平凡后缀 指除了第一个字符以外,一个字符串的全部尾部组合部分匹配值 非平凡前缀和非平凡后缀的最大相似长度next[ ] 第i个元素的,前i个元素的字符串,的部分匹配值。与模式串匹配 若在下标i处匹配失败,若模式串与匹配串有一个以s[i]结尾的相似子串,那个就可以跳过这段匹配,把匹配串直接移动到下一个需要匹配的位置(匹配串的当前下标移动到len+1处,len为相似子串的长度)。原创 2022-04-02 16:37:32 · 831 阅读 · 2 评论 -
【二分模板】
两场cf两个二分。今天压线过了c,心情有点激动。二分差点没把我心态搞崩。check()函数是判断是要选择哪个区间。求尽可能小二分区间 [l,mid],[mid+1,r][l,mid],[mid+1,r][l,mid],[mid+1,r]int l=1,r=n;while(l<r){ int mid=(l+r)>>1; if(check(mid)){ r=mid; }else{ l=mid+1; }}cout&l原创 2021-11-24 01:35:59 · 213 阅读 · 0 评论 -
线段树【模板】全面
导航栏点/区间线段树求和点/区间线段树求最大值更新(非替换)及查询最大值变型 2020 CCPC MianYang J点/区间线段树求和线段树,顾名思义,是把给定的n个元素组成的序列比作线段,以树的方式重建,进而达到更新,询问的时间复杂度都达到log2n\log_2nlog2n的级别。pushup建树过程中或者更新过程中,会先递归到叶子节点(不一定到叶子节点),然后再回溯,就是下一次回到他们两个的子树根节点,该点要记录两个子节点的和,所以pushup.当然再向上回溯同理,也是当前根等于他两个子节点原创 2021-11-06 00:50:19 · 132 阅读 · 0 评论 -
【离线】可持久化数据结构(主席树)
权值线段树,又称主席树。权值线段树,每个叶子节点代表一个权值。每个节点都有权值,表示在当前区间内的数字个数。以该题为例,数据为1 5 2 6 3 7 4表示要查询的数组a[]。离散化离散化就是用键值对把所有数据的相隔距离变为1。例如1008 9 2 2 3数据集,可以通过编号:map[1]=2;map[2]=3;map[3]=9;map[4]=1008前提是需要对原数组排序并去重。//如果我的数据集存在<vector>中sort(d.begin(),d.end());//排原创 2021-09-06 19:08:23 · 128 阅读 · 0 评论 -
对于程序设计竞赛中的坐标说明
acwing 1098 刷题记录原创 2021-08-10 02:06:13 · 112 阅读 · 0 评论 -
高精度整合-vector写法-C++
高精度加法#include<bits/stdc++.h>using namespace std;const int maxn=100010;vector<int> x,y;vector<int> add(vector<int>& a,vector<int>& b){ if(a.size()<b.size()) return add(b,a); vector<int> c; int原创 2021-08-10 00:23:53 · 218 阅读 · 0 评论 -
链式前向星(C++)
因为在图论中总会遇到存图的情况,如果用邻接矩阵进行存储,相当于需要开辟 点 的平方的空间,但采用邻接表,有多少条边开辟多少空间,更节省空间。两种表达方式:用 top=0top=0top=0 存第一条边,边的个数范围为 [0,m−1][0,m-1][0,m−1]此时需要把头数组初始化为-1,memset(head,-1,sizeof(head)且在对某一点进行枚举边时(看该点与哪些点相连),应该写成for(int j=head[i];~j;j=edge[i].next代表若下一条边的头是-1退出,原创 2021-08-02 18:32:19 · 885 阅读 · 2 评论 -
c++ 快速读入
inline int read(){ int s=0,w=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-') w=-1; ch=getchar(); } while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar(); return s*w;}再记一下子,快速读入,数大数多的时候用。原创 2020-09-21 13:45:27 · 283 阅读 · 0 评论