自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 无比强大的数据结构 伸展树总结

链接 :http://www.notonlysuccess.com/index.php/splay-tree/论文链接:http://www.docin.com/p-62465596.html其实本来不想学splay树的,因为好像平时做题不怎么用到,但是,请注意,书到用时方恨少啊,多一点储备,就多一分机会论文里说,动态树也要用splay来维护的说,有的斜率优化的题也要用spla

2012-09-30 17:09:34 3930

原创 伸展树最重口味题 维修数列

链接 : http://www.lydsy.com/JudgeOnline/problem.php?id=1500如果都做到这题了,就不多说了有很多的注意点,代码中有注释#include#include#includeusing namespace std;const int inf = ~0u>>2;#define L ch[x][0]#define R ch[x][1]

2012-09-30 17:04:34 1871

原创 poj 3580 伸展树重口味题

http://poj.org/problem?id=3580注意,inf设的不要太小,还有对于题目输入数据的各种处理(可能有非法数据),要注意判断,具体见代码#include#include#includeusing namespace std;const int inf = ~0u>>2;#define L ch[x][0]#define R ch[x][1] #d

2012-09-30 16:58:54 1758

原创 hdu 3487 区间 翻转 切割 插入 splay

http://acm.hdu.edu.cn/showproblem.php?pid=3487提取一段区间,插入到另一个位置,只要写好了关键的三个函数就很轻松了/*区间翻转,注意标记的下传*/#include#include#includeusing namespace std;#define L ch[x][0]#define R ch[x][1]#define KT

2012-09-30 16:52:03 1521

原创 hdu 3436 splay模拟题

http://acm.hdu.edu.cn/showproblem.php?pid=3436离线操作,将两个数之间那段数的个数也当做一个节点放在伸展树中,找的时候根据节点的个数往左或往右找就好了/*关键是离散化的技巧其他没什么*/#include#include#include#includeusing namespace std;const int inf = ~

2012-09-30 16:49:08 1547

原创 bzoj 1588 营业额统计 splay

http://www.lydsy.com/JudgeOnline/problem.php?id=1588#include#includeconst int mod =1000000;const int inf = ~0u>>2;#define KT (ch[ ch[rt][1] ][0])const int maxn = 200010;int ans;struct

2012-09-30 16:42:52 1571 2

原创 bzoj 1208 宠物收养所 splay

链接 : http://www.lydsy.com/JudgeOnline/problem.php?id=1208找前驱 后继 删除一个节点直接将要删除的节点旋转到根,然后删除根节点即可/************************************************************** Problem: 1208 User: wuyiqi

2012-09-30 16:40:04 1357

原创 bzoj 1503 [NOI2004]郁闷的出纳员 splay

http://www.lydsy.com/JudgeOnline/problem.php?id=1503都是些基本的平衡树操作,各种平衡树都可以,我用的splay//插入,删除(一棵子树),找第k大#includeconst int inf = ~0u>>2;#define KT (ch[ ch[rt][1] ][0])const int maxn = 200010;int l

2012-09-30 16:34:32 1998 3

原创 hdu 1890 splay区间翻转

链接 : http://acm.hdu.edu.cn/showproblem.php?pid=1890下传翻转标记的时候要特别注意每次将第i个数到第i大的数之间的数翻转,然后删除第i大的数/*区间翻转,注意标记的下传*/#include#include#includeusing namespace std;#define L ch[x][0]#define R ch[x

2012-09-30 16:29:45 2271

原创 splay 的普通平衡树功能

普通平衡树的功能主要有    插入 删除 一个数 找 前驱  后继  第k大 小求大于等于或小于等于某个数的个数(可以求逆序数)确定一个数的排名我把所有的功能整合在了一起了,代码如下#include#includeconst int inf = ~0u>>2;#define L ch[x][0]#define R ch[x][1]#define KT (ch[

2012-09-30 16:19:48 2671

原创 poj 2104 hdu 2665 区间第k大 可持久化线段树

好像又可以叫函数式线段树,反正主要思想就是充分利用历史信息,共用空间,具体的看论文吧这里讲的比较详细 http://hi.baidu.com/wyl8899/item/e00796a9cb2df73d020a4d68这题A的太爽了* _ *看CLJ标称的时候用的是动态申请内存的线段树,非常不习惯- -昨天听说可以静态实现,而且很简单,于是重新想了下实现的思路,果断开敲,敲之

2012-09-30 01:12:06 5523 3

原创 zoj 3649 lca 倍增 DP

下课后直接奔实验室,月赛都快结束了,我擦,随便挑了一道题开始搞起来,是我喜欢的图论,心里暗暗欣喜,可是还是有点绕人,比赛结束刚好敲完,吃晚饭后,调了调,AC,呵呵比赛的时候A的貌似很少,其实也不太难链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3649下面是我做过的倍增法求LCA以及倍增的DP的两个练习题

2012-09-29 21:39:02 1969

原创 codeforces 223E 计算几何 图论 网络流思想

http://codeforces.com/problemset/problem/223/E题意: 给你一堆坐标点,然后告诉你他们之间的连接情况,所有的边都是双向的,并且图是连通的。边数,点数都是10w级别然后开始询问,每个询问是输入图中某个多边形的所有顶点,然后问你这个多边形内部一共有几个点(包括边界上的点)题解在这里http://codeforces.com/blog/entr

2012-09-25 13:03:05 1347

原创 hdu 4419

http://acm.hdu.edu.cn/showproblem.php?pid=4419题意:略解法:联想普通的矩形面积并,这个题做法基本一样,只是由于不同的颜色的线段覆盖后会变成另一种颜色,所以线段树节点记录的域应该变成每种颜色的总长度,总共有7种颜色,都记录下来即可关键在于信息的上传过程,我们还要额外记录一个cover域,表示当前区间被某种颜色完全覆盖了几次,当信息从子节点传递

2012-09-23 22:55:19 2328 4

原创 2012 金华网络赛小记

1001:没看1002:没看1003:没看1006:最水的概率DP,也是我们队最早A的题,1A1004: 队友敲了半天才发现方法错了,改了后1A1008:注意到修改和询问的次数比较少,所以可以先利用容斥原理求出给定区间内与p互质的数的和,然后再考虑那些已经被改变的位置1010:知道怎么求LCA的话,基本上属于模拟题,不过有一些trick,根节点的兄弟有一个,最近公共祖先不能

2012-09-22 22:56:49 2037

原创 poj 3233 矩阵乘法经典题

题意:见题目。http://poj.org/problem?id=3233有一种很好的做法是构造这样一个矩阵A A0 1然后这个矩阵自乘K次即可,也就是矩阵套矩阵#include#includeconst int MAX = 65;int n,k,m,tn,mod;struct Mat { int mat[MAX][MAX]; Mat(){ memse

2012-09-20 21:43:15 3304

原创 codeforces 225D 搜索 哈希判重

链接:http://codeforces.com/problemset/problem/225/D题意:给你一幅图,里面有一条贪吃蛇,问你这条蛇至少走几次能吃到苹果,或者永远都吃不到苹果。这个题的关键是保存一条蛇的状态,一条蛇只要确定了头,然后其他的部分和上一部分都有一个方向上的相对关系,比如说长度为9的蛇,状态就可以表示为 蛇头 + 八个方向 即  (x*m+y  方向1 方向2 。

2012-09-20 19:55:11 1295

原创 codeforces 223B Two strings

http://codeforces.com/problemset/problem/223/B纯粹想锻炼一下自己的表达能力。题意:给你两个字符串S,T。将S中所有的子序列(要求这些子序列和T串相同)染色,最后问你能否将S染全,即每个字符都会染到思路:先从左往右匹配,求出S中当前字符最大可以匹配到T串的哪个位置,然后再反过来匹配一遍,求出S中当前字符最左可以匹配到T串的那个位置比如

2012-09-20 12:23:03 1266

原创 codeforces 217E 逆向思维

链接:http://codeforces.com/problemset/problem/217/E题意:给你一个字符串,长度小于等于300W,再给你两个数,n,k接下来是n个操作,每个操作是对一段区间操作,将整段区间取出来,偶数位的字符放前面,奇数位的字符放在后面,然后插入这个区间的后面比如  1 11   s1s2... s11, 将 s2s4s6s8s10s1s3s5s7s9s11

2012-09-19 23:12:10 1446

原创 2012 成都网络赛小记

一直想以优质的文章回馈互联网,无奈本菜太弱,只得修炼一段时日再一类类的总结好了,废话不多说,今天的网络赛状态还好,只是有点小遗憾,DP太弱了1001:一看就是裸的线段树,然后回想一下省赛的题,区间记录5个域,然后再记录下区间总共有几个数,信息上传的时候注意下取模即可1002:转换一下模型其实就是拆点后求S 到 T 的最小切割,因为S出发到T一定会经过这些割边,要求最小的就是最小割啦

2012-09-16 19:17:36 4709 2

原创 hdu 4276 树形DP + 分组背包

http://acm.hdu.edu.cn/showproblem.php?pid=4276题意:一棵树,让你在规定时间T内从1号节点走到n号节点,并取得最多的宝藏值。很容易可以想到一个这样子的树形DP,dp[u][t]表示u子树走t长度的距离时所能获得的最大价值,然后就是1 到 n的链上的每个点来分配容量为T的背包其实就是一个分组背包了,链上的每个点代表每一组,每组中的物品为求得的状

2012-09-15 13:18:42 940

原创 codeforces 137 div2

A题:20分钟才提交的,不懂题目什么情况,直接模拟n次好了,- -B题:记录行号和列号,交换两行的时候直接交换行号就好了C题:有一个很好的方法是用p[i]记录小于等于i的且能被i整除的最大的素数,然后约分的时候处理起来特别的方便D题:排个序,记录两个指针移动一下即可E题:矩阵乘法经典题,求一个点走到另一个点走k步有多少种走法,按照限制条件构造出初始矩阵,快速幂算一下即可

2012-09-11 12:49:43 985

原创 2012 天津网络赛小记

随便写一下,证明我还存在。。。。比赛开始,我们刷水题倒还是挺快的,找到两题签到题刷完,勉强挤进第一页然后有一段时间的寂静期。。。。。然后就是1005,直接暴力枚举x y z,先枚举z,然后发现大数据跑不出来,进而发现z=2的时候计算量太大,于是乎2的时候提前计算,顺利AC~然后又是一个数学题 1002  ,队友找出了规律后,交了两遍WA拼命造数据测数据。。。。最后发现很大的

2012-09-09 22:04:16 4467

原创 长春网络赛小记 hdu 4274 hdu 4268

最终四题,100多名,没什么好说的,水水的。。。。就是1006被坑的有点夸张,导致没有时间去搞其他题,不过好像很多队也被这题的题意坑了比赛开始时我就瞄准了A题,肯定是线段树,但是怎么搞呢,线段树要开的空间好大啊,正犹豫中,队友树状数组1A -  -然后我看1002,问你Alice最多有多少的卡片可以覆盖Bob的卡片,每场卡片是a*b规格的,a b不可互换,开始想到的是先将Bob的所有卡

2012-09-09 00:17:55 3003 4

原创 SRM 554 div2

这场比赛还算顺利,唯一的遗憾就是1000pt没有弄出来,写之前没有考虑清楚,想到什么就写什么,导致错失AK良机,囧。。。。250pt :    水题,不解释500pt:   同上1000pt :题意:给你最多四种颜色的砖块,每种砖块有无限个(1*1*1的单位立方体),求拼成一个2*2*h(h可以设计这样的状态来描述这个问题dp[h][i][j][k][l][x]

2012-09-02 02:20:03 1100

空空如也

空空如也

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

TA关注的人

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