自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 KMP算法

/*这是对失配函数没有优化的MP算法,最坏情况下也能达到O(m + n)的复杂度,其中m为模板串长度,n为文本串长度.此算法还可以计算模板串在文本中出现的次数(可重叠)*/char s[maxn],t[maxn];//s为文本,t为模板int f[maxn];//失配函数void getFail(char *P,int *f){ int m = strlen(P); f[0] =

2015-10-31 11:45:26 288

原创 后缀数组

char s[maxn];//构造字符串s的后缀数组,复杂度为o(nlogn)int sa[maxn],t[maxn],t2[maxn],c[maxn],n;//每个字符的值必须为0~m-1void build_sa(int m){ int i,*x = t,*y = t2,n = strlen(s); for(i = 0;i < m;i++)c[i] = 0; for(i = 0;i

2015-10-31 10:34:05 244

原创 二维树状数组

/*单点修改,查询的复杂度都为log(n) * log(n)*/int sum[maxn][maxn];int n;char c;inline int lowbit(int x){ return x & (-x);}//其中n为点的总数,向上更新树状数组void add(int x,int y,int val){ for(int i = x;i

2015-10-29 14:14:44 294

原创 FOJ 2204 dp

题目链接:http://acm.fzu.edu.cn/problem.php?pid=2204我次奥。。。dp渣的要吐血了,这题想了挺久。。。题意:给出n(0 思路:dp方程是dp[i][j][k]表示用第i个颜色(0或1)放到第j个位置的话,从当前点往前有连续的k个i颜色的小球。然后枚举开头的同颜色的小球数目,看做是枚举了那么多小球后再用不同颜色的小球分开

2015-10-22 20:26:01 294

原创 在线LCA算法

先打个粗糙的模板,以后再来改精细http://hihocoder.com/problemset/solution/461416#include#define mem(a,b) memset(a,b,sizeof(a))#define FOR(i,a,b) for(int i = a;i <= b;i++)using namespace std;typed

2015-10-19 15:00:55 364

原创 CF 589F 网络流(or贪心?)

题目链接:http://codeforces.com/problemset/problem/589/F题意:有n盆菜,每个菜的上菜时间是ai-bi,要求每盆菜的品尝时间都相同,求最大的品尝时间。思路:一开始也想到了网络流,但是没有想到压缩区域。。。(我只想到一个点一个点地建图,这个的图点可能有10^4个啊。。肯定不能用网络流),后来请教别人可以一个区间建图,流量就是区间长度

2015-10-19 14:47:04 665

原创 CF 589G 树状数组

题目链接:http://codeforces.com/contest/589/problem/G好久没做过树状数组的了,也应该开始练练数据结构了题意:给你m个工作日,每个工作日有工作时间,给你n个员工,每个员工每天工作有准备工作时间和实际工作时间,每天实际工作时间之前必须做完准备工作时间,问这个员工最早要第几天完成思路:一开始的想法只想到把员工的准备工作时间从小到大排序,其他的

2015-10-19 14:37:21 566

原创 CF 552E 暴力

题目链接:http://codeforces.com/problemset/problem/552/E思路:观察一下就可以看出如果要加括号的话,那么这个括号一定是加在两个乘号之间的,题目上说乘号不超过15个,那么暴力枚举两个乘号模拟一下就行了,手法太烂。。。模拟写了挺久。。。#include #define mem(a,b) memset(a,b,sizeo

2015-10-05 11:21:33 1015

原创 CF 549G排序,构造

题目链接:http://codeforces.com/problemset/problem/549/G思路:可以将每个人的金钱看作是一个一个的方块,金钱分可分配金钱和不可分配金钱,不可分配金钱类似台阶。那么对于相邻两个人的交换,就相当于可分配金钱的方块在不可分配的金钱的方块上移动。那么对于最后的方案,只要将所有的可分配的金钱从小到大排序,然后检查能否组成非递减的金钱

2015-10-04 19:29:28 418

原创 CF 553B 构造

题目链接:http://codeforces.com/problemset/problem/553/B思路:方法较无脑,直接手动写几个式子,发现之可能两个相邻的数字交换,且交换的数字不能重叠。知道这个后,稍微想一下如果在当前串再加入数字的话总数目可以由上一个的数目和上上个的数目推出,类似fibonaci数列,那么直接推好了。。代码:{CSDN:CODE:11

2015-10-04 17:37:57 944

空空如也

空空如也

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

TA关注的人

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