自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 问答 (1)
  • 收藏
  • 关注

原创 AC自动机模板

AC自动机失配指针failfail指针指向与该节点表示串后缀相等的且长度最大的串(或前缀)的节点fail与kmp算法中的next数组还是有点不同的,next[j]表示的是j之前的前缀和后缀相等,且next指向前缀和后缀相等的前缀下一位,而fail[j]表示的是包含j这一位的前缀和后缀相等,并且指向前缀最后一位下标。 trie[now][i] = trie[fail[now]][i...

2019-08-29 00:01:19 179

原创 trie树

trie树查询某个字符串是否出现过const int maxn=1e3;int trie[maxn][maxn],book[maxn];int tot=0;v0id init(){ fill(tire,tire+maxn*maxn,0); fill(book,book+maxn,0); tot=0; }void build(string s){ int u=0; for...

2019-08-28 17:24:58 158

原创 欧几里得、拓展欧几里得和逆元的求解

欧几里得算法int gcd(int a,int b){ if(b==0) { return a; } return gcd(b,a%b);}拓展欧几里得算法最主要的核心就是 x=y y=x-a/b*yint ex_gcd(int a,int b,int &x,int &y){ if(b==0) ...

2019-08-25 14:27:58 189

原创 状压dp

题目大意:农夫有一块地,被划分为m行n列大小相等的格子,其中一些格子是可以放牧的(用1标记),农夫可以在这些格子里放牛,其他格子则不能放牛(用0标记),并且要求不可以使相邻格子都有牛。现在输入数据给出这块地的大小及可否放牧的情况,求该农夫有多少种放牧方案可以选择(注意:任何格子都不放也是一种选择,不要忘记考虑!#include <cstdio>#include <cstrin...

2019-08-23 17:56:49 141 1

原创 数位dp

首先我们要清楚数位dp解决的是什么问题:求出在给定区间 [A,B] 内,符合条件 f(i) 的数 i 的个数。条件 f(i) 一般与数的大小无关,而与数的组成有关。这里我们使用记忆化搜索实现数位dp。本质上记搜其实就是dp,下文会重点介绍dp值的使用和记录记搜过程从起点向下搜索,到最底层得到方案数,一层一层向上返回答案并累加,最后从搜索起点得到最终答案。对于 [l,r] 区间问题,我们一...

2019-08-23 10:49:47 254

原创 kmp算法模板

const int maxn=1e4+10;int nex[maxn];//记录的是前缀和后缀最大公共部分的下一位坐标,由数组前后缀最大公共长度右移一位得出 char p[maxn],s[maxn];void init(){ fill(nex,nex+maxn,0); //fill(p,p+maxn,'');}void getnex(){ int i=-1,j=0;//因为求n...

2019-08-22 14:54:30 219

原创 快速幂取模爆炸怎么办

今天做题突然想到了一道题,这题真的是坑,快速幂会爆炸#include <bits/stdc++.h>typedef long long LL;const int maxn = 5e6 + 1;using namespace std;LL mod = 10000000007;LL a[10][maxn];void init() { for (int i = 1; ...

2019-08-16 15:59:35 214 1

原创 最小圆覆盖模板

实际上是找三个点:如果第一个点没找对的话,以后遇到正确的点会不包含,如果第二个点没找对的话,以后遇到正确的点会不包含,如果第三个点没找对的话,以后遇到正确的点会不包含。所以,只有以后不出现不包含的情况,就是找对了。#include <iostream>#include <string.h>#include <stdio.h>#include <a...

2019-08-15 10:07:08 175

原创 网络流模板

就两个点,先bfs分层,在dfs搜索const int maxn=1e5;queue<int> q;struct node{ int v,c,next;}edge[maxn<<];int head[maxn],dis[maxn],currage[maxn];int tot,s,e;void init(){ fill(head,head+maxn,-...

2019-08-12 17:50:27 111

原创 第一次写博客感想

第一次写博客感想第一次写博客,竟然不会粘贴代码,气人,我还是休息会,改天再研究吧(主要是我不想弄,还是打会游戏吧)

2019-08-10 17:56:31 208 6

原创 st表、树状数组、线段树和主席树

//树状数组 :单点修改 (+ - * /);// 区间修改( + - 最值)其中+ -要利用查分数组来实现// 单点查询 传统方法// 区间查询 最值得话就循规蹈矩的进行查找/*但是如果使用区间修改过(查分数组)后再进行区间查询,则要进行计算一下∑ni = 1A[i] = ∑ni = 1 ∑ij = 1D[j]; 则A[1]+A[2]+...+A[n]...

2019-08-10 17:29:48 477

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除