算法专题&代码储存
文章平均质量分 56
nixinyis
这个作者很懒,什么都没留下…
展开
-
后缀数组(UVa11107)
第一次写后缀数组啦啦啦。。。对于后缀数组的认知问题,我们还是看看大神罗穗骞的论文吧:《后缀数组--处理字符串的有力工具》好,那下面我来提一提模板题UVa11107的解法:题目链接:UVA-11107题目大意:n个字符串,求长度最大字符串,要求在超过一半的字符串中出现。题解:1、先在中间用分隔符把他们拼成一个长字符串,求出他的后缀数组和height数组。2、二分答原创 2017-01-30 16:52:53 · 979 阅读 · 0 评论 -
常见组合博弈游戏
版权声明:博主表示授权一切转载啦,不过要写上原作者哦:)自http://blog.csdn.net/qq_15714857/article/details/49691585转载而来,转载目的只是希望自己下次看更方便。。。目录(?)[+]这两天认识了几个组合游戏的基础模型,希望自己能更新下去。。Ferguson游戏Descrip转载 2016-12-24 15:23:56 · 1874 阅读 · 0 评论 -
【点分治】的学习笔记和众多例题
包含点分治多道例题:【POJ 1741 & BZOJ 1468 & BZOJ 3365】【BZOJ 2152】【BZOJ 2599】【BZOJ 1316】很详细的一篇文章,20分钟教会你点分治。原创 2017-03-23 16:45:45 · 4530 阅读 · 3 评论 -
【树链剖分】学习笔记
本文主要是对树链剖分算法的理解(很棒的一篇文章哦)包含例题:【HDU 3966】【SOPJ 375】Query on a tree 【BZOJ 1036】【ZJOI 2008】树的统计原创 2017-03-26 22:58:46 · 353 阅读 · 0 评论 -
【BZOJ 1251】序列终结者【裸splay】
Description给定一个长度为N的序列,每个序列的元素是一个整数(废话)。要支持以下三种操作: 1. 将[L,R]这个区间内的所有数加上V。 2. 将[L,R]这个区间翻转,比如1 2 3 4变成4 3 2 1。 3. 求[L,R]这个区间中的最大值。 最开始所有元素都是0。题解splay还有什么好说的呢。(本文纯粹为了保存一个最适合自己的代码)代码原创 2017-03-07 21:30:24 · 415 阅读 · 0 评论 -
线段树操作中的一些预判方法【UOJ 228】【codeforces 438D】
作为一个傻逼题,我……我竟然提交了n次!!!题意给出一个长度为 nn 的数列 AA,接下来有 mm 次操作,操作有三种:区间加,区间开方,区间求和。题解感觉很水。 网上大神们的博客里说,对于一次区间开根: 设最大值为maxn,最小值为minn,如果maxn-minn=sqrt(maxn)-sqrt(minn),就可以看成区间减法。(因为减小的值是一样的) 但是,我以为是在一开始判断一次原创 2017-03-24 20:33:37 · 535 阅读 · 0 评论 -
二分图最大匹配的König定理及其证明
讲的太好了,所以转一发转载自此:http://www.matrix67.com/blog/archives/116二分图最大匹配的König定理及其证明 如果你看不清楚第二个字母,下面有一个大号字体版本:二分图最大匹配的König定理及其证明 本文将是这一系列里最短的一篇,因为我只打算把König定理证了,其它的废话一概没有。 以下五个问题我可能会在以转载 2017-03-10 19:44:28 · 223 阅读 · 0 评论 -
【codevs 1993】草地排水【Dinic裸题】
本文纯粹保存Dinic的代码#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#include<queue>using namespace std;struct edge{int to,cap,rev;};#define N 210#define inf 0x3fffffffvector<edge>原创 2017-03-09 23:44:22 · 274 阅读 · 0 评论 -
UVA 11149 & POJ 3233 矩阵的幂
没有本质区别的两道题:链接:https://vjudge.net/problem/POJ-3233https://vjudge.net/problem/UVA-11149简单来说,就是快速幂的矩阵版下面我就上代码了:POJ 3233#include#include#include#includeusing namespace std;co原创 2017-01-12 19:45:19 · 245 阅读 · 0 评论 -
POJ 3420 矩阵的幂
题目链接:POJ-3420题意:用1×2的矩形填充4×n的的矩形,求方案数。思路:大家可以轻易地在网上找到状态压缩的解法,这里我给出一个递推+矩阵的幂的方法。 - a[n] = a[n-1]+b[n-1]+c[n-1]+dx[n-1]+dy[n-1] - b[n] = a[n-1] - c[n] = a[n-1]+e[n-1] - dx[n] = a[n-1]+dy原创 2017-02-08 10:09:09 · 354 阅读 · 0 评论 -
【BZOJ 3132】上帝造题的七分钟【二维树状数组】
Description“第一分钟,X说,要有矩阵,于是便有了一个里面写满了0的n×m矩阵。 第二分钟,L说,要能修改,于是便有了将左上角为(a,b),右下角为(c,d)的一个矩形区域内的全部数字加上一个值的操作。 第三分钟,k说,要能查询,于是便有了求给定矩形区域内的全部数字和的操作。 第四分钟,彩虹喵说,要基于二叉树的数据结构,于是便有了数据范围。 第五分钟,和雪说,要有耐心,于是便有了时原创 2017-02-23 20:05:03 · 348 阅读 · 0 评论 -
有向图强连通分量 Tarjan算法
[有向图强连通分量]在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,3,4两两可达。{5},{6}也分别是转载 2016-07-08 14:29:56 · 396 阅读 · 0 评论 -
【BZOJ 1588】【HNOI 2002】营业额统计(treap模板题)
Description营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况原创 2017-02-14 23:23:15 · 299 阅读 · 0 评论 -
Treap 动态平衡树
(注:本文是笔者在学习Treap的时候的一点收获,并将一些基础知识记录下来)Treap定义:treap是一中动态平衡的BST,可以高效地处理插入和删除等,是一棵有键值和优先值的树。一些小笔记:(我刚学c++是很讨厌指针,但学到Treap时竟然可以接受了,O(∩_∩)O~~)初始定义struct node{ char *ch[2];//左右子树 int r;//随机的优先值原创 2017-02-09 11:47:22 · 390 阅读 · 0 评论 -
线段树专题
按照习惯,这里只是对我这几天所写的线段树题目的总结hdu 1166 排兵布阵 点增减#include<cstdio>#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1const int maxn=55555;int sum[maxn<<2];void push(int rt){ sum[rt]=sum[rt<<1]+sum[rt<<1|1]原创 2017-01-16 20:07:08 · 260 阅读 · 0 评论 -
欧拉筛(线性筛)& 欧拉函数
今天又复习了一下欧拉筛法,在这做个笔记。欧拉筛(线性筛)一般情况下,有一种筛法叫埃什么什么的。是O(n log log n),非常接近于O(n),但也会有坑爹的出题人来个10000000故意卡你。原理这可能原理有点妙啊。设pr[i]为i最小质因子,然后从2开始计算如果pr[i]没有在前面得到,就说明i是质数,所以pr[i]=i,prime[++len] = i。对于i,枚举每一个不超过pr[i原创 2017-03-20 19:38:37 · 2020 阅读 · 1 评论