模板
Lupin123123
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
带括号的四则运算计算器
栈的应用,思想比较容易,代码实现起来还是比较烦的,尤其是处理括号的时候。不过确实锻炼coding的能力。 大致思路: 1.开两个栈,一个符号栈,一个数字栈。 2.从头到尾遍历整个字符串,遇到运算符就把紧挨这个运算符的数字加到数字栈中,计算运算符之前的结果。遇到’(‘就直接放入符号栈,遇到’)‘就出栈到’('为止。 具体代码: #include<bits/stdc++.h> #define FAST ios::sync_with_stdio(false),cin.tie(0),cout.tie(0原创 2021-08-08 13:39:16 · 1574 阅读 · 1 评论 -
[模板] kmp
1.可重叠匹配(基本应用) char s1[maxn],s2[maxn]; int len1,len2,ans; int p[maxn]; void get() { int j=0; p[1]=0; for (int i=2; i<=len2; i++) { while(j && s2[j+1]!=s2[i]) j=p[j]; if (s2[j+1]==s2[i]) j++; p[i]=j; } } void work() { ans=0; int j=原创 2021-08-13 02:26:29 · 151 阅读 · 0 评论 -
[模板] 后缀数组
int n,m; int height[maxn]; char s[maxn]; int rak[maxn],sa[maxn],tp[maxn],tax[maxn]; void bucket() //桶排序 { for(int i=0; i<=m; ++i) tax[i]=0; for(int i=1; i<=n; ++i) tax[rak[i]]++; for(int i=1; i<=m; ++i) tax[i]+=tax[i-1]; for(int i=n; i>=1原创 2021-07-31 22:14:13 · 104 阅读 · 0 评论 -
[模板] 树的直径
以POJ - 2631为例,求树的直径和路径上的点 #include<bits/stdc++.h> #define FAST ios::sync_with_stdio(false),cin.tie(0),cout.tie(0) #define INF 0x3f3f3f3f typedef long long ll; const int maxn = 1e5+5; using namespace std; int cnt,head[maxn]; struct e { int to; int原创 2021-08-04 15:33:12 · 260 阅读 · 0 评论
分享