上一页 1 ··· 7 8 9 10 11 12 下一页
摘要: 计算几何基础 const double eps=1e-6; const double inf=1e20; const double pi=acos(-1.0); //符号函数 int sgn(double x){ if(fabs(x)<eps) return 0; if(x>0) return 1; 阅读全文
posted @ 2020-07-05 23:12 fxq1304 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 预处理 时间复杂度$O(n\log n)$ 区间最值查询 时间复杂度$O(1)$ int a[1010],st[1010][15],mini[1010]; void rmq_init(int n){ for(int i=1;i<=n;i++) st[i][0]=a[i]; for(int j=1;( 阅读全文
posted @ 2020-07-04 21:14 fxq1304 阅读(20) 评论(0) 推荐(0) 编辑
摘要: AC自动机应用于多模式串匹配,时间复杂度$O(n)$,其中$n$为文本串长度 AC自动机是在Trie上实现kmp,如果当前节点匹配失败,则从当前节点的fail指针指向的节点开始继续匹配 fail数组的构建可以通过bfs实现 const int maxn=1000010,maxm=10010,maxn 阅读全文
posted @ 2020-07-03 21:28 fxq1304 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 计算出字符串中以每个字符为对称中心的最长回文串的长度加$1$的值。 时间复杂度为$O(n)$。 #include<bits/stdc++.h> #define LL long long #define PII pair<int,int> #define PLI pair<LL,int> #defin 阅读全文
posted @ 2020-07-02 23:30 fxq1304 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 结论 通过NEXT数组,可以得到字符串的最小循环节。 设字符串s的结尾下标为i,NEXT[i]=j,如果$\left{\beginj\ne0\i%(i-j)==0\end\right.$成立,那么s[j+1,i]就是字符串的最小循环节。 简要说明 ———————— 1 x j ———————— y 阅读全文
posted @ 2020-07-01 23:43 fxq1304 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 模板题:hdu1711 Number Sequence hdu1686 Oulipo //字符串下标从1开始,n表示文本串的长度,m表示模式串的长度 int n,m,fail[10010]; char s[1000010],p[10010]; void get_fail(){ for(int i=2 阅读全文
posted @ 2020-06-28 16:03 fxq1304 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 最小费用流:在网络中为每条边加上一个费用,当流量固定为F时费用的最小值。 模板一:通过Bellman-Ford算法计算最短路,并且沿着最短路增广。 时间复杂度为$O(F|V||E|)$ const int maxn=1010,inf=0x3f3f3f3f; struct edge{ int to,c 阅读全文
posted @ 2020-06-23 15:56 fxq1304 阅读(88) 评论(0) 推荐(0) 编辑
摘要: dinic算法加上当前弧优化计算最大流 #include<bits/stdc++.h> #define LL long long #define PII pair<int,int> #define PLI pair<LL,int>;v #define lson o<<1,l,mid #define 阅读全文
posted @ 2020-06-22 16:10 fxq1304 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 匈牙利算法 模板一:使用邻接矩阵 时间复杂度$O(n^3)$ const int maxn=510; int n,m,line[maxn][maxn],match[maxn],book[maxn]; bool find(int u){ for(int i=1;i<=m;i++){ if(line[u 阅读全文
posted @ 2020-06-21 18:32 fxq1304 阅读(99) 评论(0) 推荐(0) 编辑
摘要: hdu2842 Chinese Rings 传送门 题意 一根木棒上穿了n枚戒指,第一枚戒指取下或者套上需要一步,第k+2枚戒指取下或者套上需要前k枚戒指取下,并且第k+1枚戒指未取下,消耗一步。求出取下n枚戒指所需要的最小步数。 题解 设取下前n枚戒指所需要的最小步数为f(n),则取下第n枚戒指需 阅读全文
posted @ 2020-06-20 14:28 fxq1304 阅读(68) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 下一页