自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蒟蒻 lxw的博客

学习使我快乐(大雾)

  • 博客(23)
  • 收藏
  • 关注

原创 悬线法求障碍点最大子矩阵

最大全1子矩阵:https://vjudge.net/problem/POJ-3494#author=0#include <iostream>#include <cstdio>#define ll long long#define mp make_pair#define pb push_back#define sec second#define fir f...

2019-02-28 20:53:26 327

原创 障碍点最大子矩阵

题目链接:https://www.luogu.org/problemnew/show/P1578障碍点个数S最坏时间复杂度O(S^2) ,实际运行中因为剪枝优化会快很多。障碍点可以在边界上。#include <bits/stdc++.h>#define ll long long#define mp make_pair#define pb push_back#d...

2019-02-28 17:43:04 198

转载 置换群定理

https://blog.csdn.net/liangzhaoyang1/article/details/72639208

2019-02-23 18:13:09 537

原创 最小费用最大流

// luogu-judger-enable-o2#include <bits/stdc++.h>using namespace std;const int N = 1e4+100;int n,m,S,T,tot;int head[N];struct node{ int v,cap,cost,nxt;}edge[int(2e5+100)];int dis[N...

2019-02-22 17:32:22 831

原创 矩阵快速幂【临时凑数待修改】

#include &lt;bits/stdc++.h&gt;#define ll long longusing namespace std;const ll mod = 2147493647;ll t[7][7]={ {1,2,1,4,6,4,1}, {1,0,0,0,0,0,0}, {0,0,1,4,6,4,1}, {0,...

2019-02-22 16:42:23 124

原创 查询区间内第一个大于x的数

#include &lt;bits/stdc++.h&gt;#define ls (o&lt;&lt;1)#define rs (o&lt;&lt;1|1)#define mid (l+r&gt;&gt;1)using namespace std;const int N = 2e5+100;int tree[4*N];void build(int o,int l,int r) {...

2019-02-21 10:23:10 1796

原创 回文树模板【求不同回文字串个数】

#include &lt;bits/stdc++.h&gt;using namespace std;const int MAX = 1e5+100;const int ALP = 26;struct Palindromic_Tree { int son[MAX][ALP]; //转移边 int fail[MAX]; //fail 指针 int cnt[MAX]; ...

2019-02-18 14:40:06 515

原创 最长公共字串(线性复杂度)

将两个字符串连接起来,中间插入分割符。按照后缀的位置,将后缀分为两类。遍历一遍height,求排名相邻的不同类后缀的最长公共前缀的最大值。 ps:简单思考可得,答案不会是非相邻的不同类后缀的最长公共前缀。#include &lt;iostream&gt;#include &lt;algorithm&gt;#include &lt;cstdlib&gt;#include ...

2019-02-17 10:52:56 258

原创 spoj687 【重复次数最多的连续重复子串】

 题目链接:https://vjudge.net/problem/SPOJ-REPEATS 推荐博客:https://blog.csdn.net/queuelovestack/article/details/53031731#include &lt;iostream&gt;#include &lt;algorithm&gt;#include &lt;cstdlib&gt;#incl...

2019-02-17 10:35:42 709

原创 RMQ

const int MAX = 1e6+100;int dp[MAX][25];void RMQ(){ for(int i = 1; i &lt;= n; i++) dp[i][0] = s[i]; for(int i = 1; i &lt; 25; i++) for(int j = 1; j + (1 &lt;&lt; i) - 1 &lt;= n; j++...

2019-02-17 10:28:02 120

原创 POJ 3261 Milk Patterns 【求可重叠至少出现k次的最长重复子串】

模板题,二分长度,然后根据height分组进行验证。#include &lt;iostream&gt;#include &lt;algorithm&gt;#include &lt;cstdlib&gt;#include &lt;cstring&gt;#include &lt;cstdio&gt;#include &lt;bits/stdc++.h&gt;using namespa...

2019-02-16 20:11:05 121

原创 Milk Patterns 【不可重叠最长重复子串】

 二分字串长度然后按照height将后缀分割分组,对于每一组选择最左和最右的后缀,判断是否重合。题目链接本题需要先差分,然后再去头,“不重合”的条件为相隔至少为1。#include &lt;iostream&gt;#include &lt;algorithm&gt;#include &lt;cstdlib&gt;#include &lt;cstring&gt;#inclu...

2019-02-16 17:23:05 332

原创 后缀数组模板【求不同字串的个数】

ldq链接:https://li-fish.github.io/2018/05/03/cjqx5558400d04kc2v3xgtu1d/sa[i]表示排名为i的后缀位置rank[i]表示以suf(i)的排名height[i]表示suf(sa[i])和suf(sa[i-1])的最长公共前缀ch下标从0开始,n是ch的长度#include &lt;bits/stdc++.h...

2019-02-16 15:05:18 199

原创 扩展kmp模板

#include &lt;bits/stdc++.h&gt;using namespace std;const int N = 1e6+100;int sum[N];const int mod = 1e9+7;char s1[N], s2[N];int nxt[N], extend[N];void exkmp(char s1[],char s2[],int next1[],in...

2019-02-16 09:14:59 395

原创 Covered Points Count(m次区间覆盖,求覆盖次数从1-n的点的个数)

 题目链接离散化就可以了,代码是以前写的,看起来有些莫名奇妙。为了防止长度为1的区间对离散化去重造成的影响,这里将区间改为左闭右开区间进行离散化。#include &lt;bits/stdc++.h&gt;#define ll long long#define pll pair&lt;ll,ll&gt;#define fir first#define sec second...

2019-02-15 16:55:31 855

原创 cf div3 E2. Array and Segments (选区间进行-1,使数组差值最大)

题目链接给一个长度为n的数组,和m个区间。每当你选择一个区间,数组中该区间内的数值全部减1,每个区间最多选一次。问数组内元素的差值(最大值-最小值)最大是多少。 注意事项:离散化分块。这里离散化遇到了问题,假如某个区间的左右端点相同(长度为1),那么去重时会把该区间删除掉。所以,可以将题目给定的 [l,r] 改为 [l,r+1) 再进行离散化。 #incl...

2019-02-15 16:45:42 275 1

原创 [SCOI2008]着色方案 (状态压缩)

题目链接Description有n个木块排成一行,从左到右依次编号为1~n。你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块。所有油漆刚好足够涂满所有木块,即c1+c2+…+ck=n。相邻两个木块涂相同色显得很难看,所以你希望统计任意两个相邻木块颜色不同的着色方案。Input第一行为一个正整数k,第二行包含k个整数c1, c2, … , ck。Output输出一个整...

2019-02-11 16:48:47 369

原创 权值线段树

动态开点题目链接#include &lt;bits/stdc++.h&gt;#define ll long long#define mid (l+r&gt;&gt;1)using namespace std;const int N = 1e5+100;const ll inf = 1e10+10;ll L,R;int n, tot;int rt, ls[N*40], rs...

2019-02-10 22:30:22 253

转载 dp的优化

https://blog.csdn.net/qq_40507857/article/details/81635667

2019-02-10 16:32:03 184

原创 D. The Union of k-Segments【被覆盖K次的点组成的区间】

题目链接此题要考虑坐标轴上两整数点之间的缝隙,所以将坐标乘2后离散化,另外还需要把左右的点一起离散化。#include&lt;bits/stdc++.h&gt;#define ll long long#define pii pair&lt;int,int&gt;#define fir first#define sec secondusing namespace std;con...

2019-02-09 21:41:46 296

转载 读入挂

 调用直接使用read(读整数)或read_ss(读字符串)即可。namespace FastIO{ #define BUF_SIZE 100000 bool IOerror=0; inline char nc(){ static char buf[BUF_SIZE], *p1=buf+BUF_SIZE, *pend=buf+BUF_SIZE; ...

2019-02-09 10:46:19 251

原创 网络流关键边(增加路径容量后最大流提升)

题目链接 网络流结束后在残留网络上,从源点和汇点分别dfs,标记能够到达的点。假如某边为关键边,那么:       1.该边残留流量为0       2.S可以到u,且v可以到T。 #include &lt;bits/stdc++.h&gt;using namespace std;const int N = 110;int n,m,S,T,tot,k;int h...

2019-02-09 09:59:36 1482

原创 cdq分治求三维偏序

这题最恶心的地方在于去重题目链接#include &lt;bits/stdc++.h&gt;#define mid (l+r&gt;&gt;1)using namespace std;const int N=1e5+100;struct node{ int a,b,c,id,num; bool operator &lt;(node x) const { //需要保...

2019-02-07 22:40:27 278 1

空空如也

空空如也

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

TA关注的人

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