- 博客(30)
- 收藏
- 关注
原创 模版...
SA:#include#include#include#include#include#include#define fo(i,a,b) for (int i = a;i <= b;i++)#define fd(i,a,b) for (int i = a;i >= b;i--)using namespace std;const int maxn = 200050;in
2014-04-30 12:14:34 447
原创 【SPLAY】NOI2005 维护数列
【NOI2005】维护数列写一个程序,要求维护一个数列,支持以下6种操作:(请注意,格式栏中的下划线‘ _ ’表示实际输入文件中的空格) 1. 插入 INSERT_posi_tot_c1_c2_..._ctot 在当前数列的第posi个数字后插入tot个数字:c1, c2, …, ctot;若在数列首插入,则posi为0 2. 删除 DELETE_posi_tot 从当
2014-04-27 21:33:37 561
原创 【树的分治】FJOI2014最短路径树问题
【FJOI2014】最短路径树问题【题目大意】给一个包含n个点,m条边的无向连通图。从顶点1出发,往其余所有点分别走一次并返回。往某一个点走时,选择总长度最短的路径走。若有多条长度最短的路径,则选择经过的顶点序列字典序最小的那条路径(如路径A为1,32,11,路径B为1,3,2,11,路径B字典序较小。注意是序列的字典序的最小,而非路径中节点编号相连的字符串字典序最小)。到达该点后按原路返
2014-04-01 21:52:43 721
原创 【AC自动机+DP】匹配(match)
匹配【题目大意】给定k个字符串以及长度为n的母串的可选字母的集合,问母串要完整出现给定的k个字符串的方案数,答案模1000000007,字符仅包含小写字母。(n【题解】本来这题是道较水的题,由于刚学了一种更快的建AC自动机的方法,就拿这个练练手。对给定的k个字符串建立AC自动机。设f[i][j][k]为当前做到第i位(总共要N位),在自动机上的j节点,已经匹配了状态为k的字
2014-03-28 10:58:03 798
原创 【AC自动机】HDU2222
HDU2222【题目大意】求给定n个模式串在主串中出现了几个。(每一个模式串只被记录一次)【题解】暴力AC自动机。今天在搞字符串专题,发现AC自动机这一块内容还是掌握得不熟练,觉得还是要巩固。不打不知道,打了发现还是会有很多要注意的地方。(无数次RE...)要牢记fail指针的求法,与KMP算法类比。用文字不太好表达,还是好好看代码吧。#
2014-03-27 21:14:15 365
原创 【数学】2011集训队出题 跳跳棋
【2011集训队出题】 跳跳棋 by 何朴藩【问题描述】跳跳棋是在一条数轴上进行的。棋子只能摆在整点上。每个点不能摆超过一个棋子。我们用跳跳棋来做一个简单的游戏:棋盘上有3颗棋子,分别在a,b,c这三个位置。我们要通过最少的跳动把他们的位置移动成x,y,z。(棋子是没有区别的)跳动的规则很简单,任意选一颗棋子,对一颗中轴棋子跳动。跳动后两颗棋子距离不变。一次只允许跳过1
2014-03-27 11:44:28 1333
原创 【DP+压缩矩阵+矩阵乘法】阅读
【湖南集训】阅读 ——By hta【问题描述】有趣的事是实,汉字的序顺并不定一能影阅响读,比如当你看完这句话后,才发这现里的字全是都乱的。其实英语也是如此:The maening of a sentenec with almspt no corrcet word can beundrestood esaily.现在小G发现了这个神奇的事实,于是他给一些字母对定义了一
2014-03-27 09:42:33 673
转载 【网络流】一类利用割的意义的网络流建模(加批注)
一类利用割的意义的网络流建模这几天在BZOJ漫无目的的闲逛。今天逛到了第12页,那一群没写Source的题基本都是2011的命题答辩。我顿时心花怒放,终于又见到有题解的题了。膜拜了十几题下来,加上前不久见到的,就有看起来类似的网络流三发了...稍微写一写吧。先来看这么一个题。给出一个无向图G=(V,E),并
2014-03-20 21:04:52 598
原创 【树状数组】GDOI 2008 Fingerprint
【GDOI2008】 Fingerprint这段时间一直在研究以前的GD比赛题目,拿了一本GDOI的书在看,今天做了一道那本书不多的难度为5的题目,也没有想象中那么难。【题目大意】给出N个指纹图像分别在四个属性上的排名情况,问有哪些图像是累赘的。对于一个图像X,如果存在另一个图像Y在至少3个排名中都排在X的前面,则称X为累赘的。【题解】根据题意,我们可以通过
2014-03-14 22:10:19 1043
原创 【网络流】CEOI2009 all
JZOJ 3575 【题目大意】在一个R*C的网格上(R、C【算法讨论】这题在考试时A了,后来想想还是觉得应该理理思路,毕竟考试时想+写用了3h。因为每个部落只能与相邻部落连边,所以我们可以对整个网格黑白染色。增加源点和汇点,源点向黑色部落连一条边,容量为该部落的结盟数;白色部落向汇点连一条边,容量为该部落的结盟数;黑色部落向每个与它相邻的部
2014-03-11 21:01:52 1505
原创 【主席树】2012集训队互测 Middle
JZOJ 2902 集训队互测2012 middle(陈立杰)【题目大意】给定一个序列,每次询问左端点在[a,b]中,右端点在[c,d]中的子序列中,最大的中位数。强制在线。【题解】这题虽然不是这几天做的,但是最近在搞数据结构,再总结一下还是会有收获的。(复习时应该看看)设一个序列S从大到小排序后为S[1..k],则中位数为M=S[k/2向上取整]。那就意味着,在序列S
2014-03-11 20:48:22 772
原创 【斜率优化的新理解】 Harbingers
CEOI 2009 Harbingers【题目大意】给出一棵n个节点树,根为1,给出树上每条边的长度di和这条边连接的两个节点ui,vi。当一个点i需要向根节点传递信息时,需要先花费Si的时间把信息告知节点i的信使,然后信使开始往根节点的方向移动。当信使到的一个新的节点j时,他有两个选择:1,自己继续向根节点前进。2,花Sj的时间把信息交给当地的信使,然后由当地的信使向根节点传递信息。
2014-03-10 20:51:39 1189 1
翻译 【最小割】bzoj:1797最小割
一个有向图,源点s,汇点t,问哪些边能够出现在某个最小割集中,哪些边必定出现在最小割集中。求最大流,在残余网络上跑tarjan求出所有SCC,记id[u]为点u所在SCC的编号。显然有id[s]!=id[t](否则s到t有通路,能继续增广)。①对于任意一条满流边(u,v),(u,v)能够出现在某个最小割集中,当且仅当id[u]!=id[v];②对于任意一条满流边(u,v),(u,v
2014-03-09 22:15:48 603
原创 【DP+斜率优化】JZOJ3574 harbingers
【CEOI2009】harbingers【题目大意】给出一棵n个节点树,根为1,给出树上每条边的长度di和这条边连接的两个节点ui,vi。当一个点i需要向根节点传递信息时,需要先花费Si的时间把信息告知节点i的信使,然后信使开始往根节点的方向移动。当信使到的一个新的节点j时,他有两个选择:1,自己继续向根节点前进。2,花Sj的时间把信息交给当地的信使,然后由当地的信使向根节点传递信息。
2014-03-09 14:17:00 796
原创 【线段树套平衡树】BZOJ 3196
您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的后继(后继定义为大于x,且最小的数)今天又写了一次这题,感觉熟练的许多。注意,root数组开四倍,因为线段树最多有4*N的节点级别。
2014-03-09 12:04:42 735
原创 【线段树套线段树】POJ2155 Matrix
POJ 2155题目是说对一个01矩形区间有两种操作:一是置反某一块区间点(a,b)(左上角)--->点(c,d)(右下角)(0变1,1变0)二是询问[i][j]位置处的当前值是0还是1。这题用二维线段树来做。其实就是线段树套线段树。首先以x轴为下标建立一颗线段树,在这棵线段树的每个节点建立一棵以y轴为下标的线段树。A[i][
2014-03-06 20:50:58 695
原创 【基本平衡树】TYVJ1728
TYVJ1728裸的平衡树,直接做,练习代码能力。注意查询rank时等价于查有多少个比它小的;虽然建树是小于当前节点key值的放在左子树,但是因为maintain可能使得左子树任意key值不满足严格小于当前节点,所以查询时(如查询第k大,前继,后继)仍需key值小于等于当前节点的key值时就搜索左子树。具体看代码。CODE:#include#include
2014-03-06 20:31:30 713
原创 【最大曼哈顿距离】POJ2926 Requirements
poj2926给定n个5维坐标的点,求这n个点中曼哈顿距离的最大值。暴力枚举肯定超时。只考虑二维空间上两个坐标之间的曼哈顿距离(x1, y1) 和 (x2, y2),|x1-x2| +|y1-y2|去掉绝对值符号后共有下列四种情况(x1-x2) + (y1-y2), (x1-x2) + (y2-y1), (x2-x1) + (y1-y2), (x2-x1) + (y
2014-03-06 20:23:16 1619
原创 【线段树套平衡树】BZOJ3196
bzoj3196,tyvj1730.题目:您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的后继(后继定义为大于x,且最小的数)Input第一行两
2014-03-06 20:13:48 978
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人