
模板
青春苦瓜
这个作者很懒,什么都没留下…
展开
-
回文树模板整理
有的算法只会模板题真不行,有的算法没有理解深刻照样不会做题,今天又看了一遍回文树,加深了一下理解,顺便整理一下模板超好理解#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;const int MAXN = 1...原创 2019-10-14 19:32:33 · 215 阅读 · 0 评论 -
图论板子搞搞
参考博客:本校潘武杰大佬本校秦狗求欧拉回路#include<cstdio>const int N=101108,M=201108;struct Side{ int v,ne,ok,id;}S[M<<1];int t,n,m,sn,cnt,head[N],cur[N],in[N],out[N],fa[N],ans[M<<1];void i...原创 2019-10-13 11:19:41 · 186 阅读 · 0 评论 -
二分图模板整理
染色法#include<iostream>#include<algorithm>#include<string.h>#include<map>#include<queue>#include<cmath>#include<cstdio>#include<stack>#define ll ...原创 2019-10-04 15:56:04 · 178 阅读 · 0 评论 -
最小表示法 最大表示法 模板
先记下大佬的链接 链接时间复杂度:o(n)应用:比较两个环形串是否是同一字符串、判重、判同分异构等。int get_minstring(char *s) //最小表示法{ int len=strlen(s); int i=0,j=1,k=0; while(i<len&&j<len&&k<len) { ...原创 2019-09-29 16:43:21 · 115 阅读 · 0 评论 -
HDU 2222 Keywords Search AC自动机模板题 AC自动机模板
#include<cstdio>#include<cstring>#include<queue>using namespace std;const int N=26;const int MAXN=500005;struct Trie{ int next[MAXN][N],fail[MAXN],end[MAXN]; int root;...原创 2019-09-13 12:28:21 · 165 阅读 · 0 评论 -
HYSBZ 2763 分层图最短路模板题
思路:下面将双向边简称为边分层建图,在读入边的同时,对于每一层,例如第k层,u+kn到v+kn建层内边,然后建相邻两层的边(权值为d),即u+(k-1)n到v+kn的单向边 和v+(k-1)n到u+kn的单向边(权值为0,即免费边) 然后跑djkstra或spfa#include<iostream>#include<algorithm>#include<s...原创 2019-09-12 14:22:01 · 146 阅读 · 0 评论 -
KMP及EXKMP模板
kmp#include<iostream>#include<algorithm>#include<string.h>#include<map>#include<queue>#include<cmath>#include<cstdio>#define ll long long#define inf ...原创 2019-09-11 18:43:09 · 173 阅读 · 0 评论 -
关于java的一些小总结 未完待续
java高精度toPlainString() //转为普遍计数法输出 例如给一个字符串1.2345678E-10,得到0.00000000012345678stripTrailingZeros() //去掉(小数点后)末尾0对于让保留多少位小数的 ,调用上述方法后没有小数了 我们可以这样:if(retStr.indexOf(".")==-1) retStr = retStr+".00...原创 2019-09-07 09:43:28 · 126 阅读 · 0 评论 -
字符串Hash入门
字符串Hash可以通俗的理解为,把一个字符串转换为一个整数。但是根据以前学习的hash, 会有冲突。但是当我们取p为131 或者13331 ,mod取2^64时 99.99%的情况是不会有冲突的Hash公式unsigned long long hash[n]hash[i]=hash[i−1]∗p+id(s[i])这里的id(s[i]):我们直接取字母的ASCII码 或者 对字母x,我...原创 2019-08-22 13:47:36 · 164 阅读 · 0 评论 -
后缀数组入门,后缀数组模板整理
我自己懒得写,就是想写个博客保存下大佬的博客地址点这模板题大佬的模板:#include<iostream>#include<string>#include<algorithm>#include<cstdio>#include<cstring>#include<cmath>#include <set&g...原创 2019-08-24 20:46:43 · 135 阅读 · 0 评论 -
manacher算法 马拉车算法入门 模版题HDU3068
艰难的算法学习之路,看了大佬的博客之后自己边理解边敲,一开始用string写的,cin关了同步之后交是TLE,然后各种优化,TLE,然后改成char型和scanf,还是TLE???????????????我真是个铁憨憨看来真是没理解透 ,把R=i+p[i] 写成1+p【i】改了之后不管cin还是scanf都能过啊!!!!!!!!!!!!!!难受#include<iostream>...原创 2019-08-15 15:26:20 · 181 阅读 · 1 评论 -
线段树求逆序数模板 POJ 1394 模板+思维, POJ2299 模板+离散化
先说一下线段树求逆序数的原理:从1到数列中最大的数n+1建树然后从a[1]开始 对于每个i ,我先查询ai+1到n+1 (注意 这是数,不是下标)已经有多少个数存在于树中了,有多少个,那么与ai构成的逆序对数就是多少。cnt+=query(1,ai+1,n+1);然后插入。最后cnt就是逆序对数模板#include<iostream>#include<cstdio&g...原创 2019-08-04 15:51:59 · 173 阅读 · 0 评论 -
线段树(单点更新、区间更新) 树状数组 模板整理
线段树单点更新#include<iostream>#include<cstdio>#include<string.h>using namespace std;const int maxn=1e5+5;struct node{ int l,r,value,lazy;}tree[maxn<<2];void pushup(int m){...原创 2019-08-04 11:36:54 · 151 阅读 · 0 评论