自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 矩阵专题小结

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove做了几个矩阵问题,总结一下。矩阵是个很神奇的东西,有时候对于一个有规律的操作,需要执行很多次的时候,有时候可以构造矩阵很巧妙的解决。另外对于递推式求解,可以通过构造矩阵巧妙解决。经典的便是FIB数列,以及FIB数列的

2012-07-31 19:22:56 4931 2

原创 Codeforces Round #131 (Div. 2) 完整题解

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove第一次进入DIV1,果断被虐,没法下手。赛后先把DIV2解决了吧A. System of Equations问a*a+b=m  a+b*b=n,的解a,b,有多少组,因为a,b都非负,而且m和n的范围在1000以内,直接

2012-07-31 11:36:07 2283 3

原创 POJ 3580 SuperMemo (Splay tree)

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove也是一个很BT的数据结构题。操作比较多。其中特有的一个操作是REVOLVE右移操作。将区间[a,b]右移c位首先c可能比较多,可以先对区间长度取模。在右移之后,可以发现[a,b]被分为两个区间[a,b-c]  [b-

2012-07-30 21:28:10 4627 2

原创 [NOI2005]维修数列 (推荐 Splay tree)

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove据说是NOI中巨恶心的一道数据结构题。其中的插入,删除,反转在其它博文里都能找到。这里有个求和,应该也比较容易,记录一下子树的和,然后记得更新就行了。还有个更新操作,是把区间统一置数,也可以用延迟标记。麻烦的

2012-07-30 20:27:56 4674 3

原创 [AHOI2006]文本编辑器editor (Splay tree)

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove通过一个变量记录光标的位置即可。MOVE:直接改变光标位置变量INSERT:经典旋转,插入到根的右孩子的左子树ROTATE:经典操作,区间反转,通过一个延迟标记记录,交换左右子树。同样要用到经典的旋转GET:得到

2012-07-30 19:09:57 3130

原创 HDU 3487 Play with Chain (Splay tree)

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove再撸一发Splay。包括区间切割和反转操作。对于Splay处理区间[l,r],将l-1转至根部,将r+1转至根的右孩子,这样根的右孩子的左子树便为[l,r],相当犀利啊,Splay的操作大多基于这样的旋转操作。对

2012-07-30 10:35:59 4564 1

原创 HDU 3436 Queue-jumpers (Splay tree)

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove三种操作RANK,TOP,QUERY。尼玛一看,N的范围10^8,必定要离散化。仔细分析3种操作:RANK就是找出第K位是多少TOP是将某个人移至队首,对中间区间没有影响QUERY是某个人的位置可以发现将

2012-07-30 09:30:34 3803 2

原创 HDU 1890 Robotic Sort(Splay tree)

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove对区间有反转,同样用懒惰标记,SPT比较方便。依次考虑第K大的,将其旋转至根,左子树的数量便是需要反转的,之后把根删除即可难道是我的伸展函数有问题,一直TLE,注释部分的求大神解释。换了一个Splay函数就过了。。。

2012-07-27 20:52:59 3993 8

原创 POJ 3468 A Simple Problem with Integers Splay tree&Segment tree

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxloveN年前用线段树做的,比较简单,可以当作线段树懒惰标记的练习。重新用Splay tree写,有点小题大作,而且代码长,效率低,不过当作Splay练手不错。区间处理,也是splay的强项。一开始建树的时候,将键值设为下标,插

2012-07-27 14:38:15 3299 4

原创 [HNOI2004]宠物收养所 SBT

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove继续跪,在找前驱和后继的时候出错了,debug出翔了,最后下载了测试数据对拍。在找前驱和后继的时候,可能出现前驱和后继不存在,应当返回inf才对。每于一棵树,要么为空,要么全为宠物或者全为人,加一个标记,表示树内现在的种

2012-07-27 10:43:45 1779 8

原创 [NOI2004]郁闷的出纳员 SBT

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxloveSplay Tree写了4、5个小时,debug不能,只有跪舔啊。改用SBT,还是SB Tree好用。。。把一个变量用作类似线段树中的延迟标记,不需要在每次加或者减的时候进行全部更新。在后来插入的结点中,应该当之前的延迟

2012-07-27 09:14:00 1386 1

原创 [HNOI2002]营业额统计 Splay tree

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxloveSBT可解,貌似segment tree也可解。当作Splay练手,第一个Splay。Splay每次把某个结点旋转到根结点。旋转分为三种。如果父结点是根结点,那么只需要作一次左旋或者右旋即可,同SBT。如果父结点P,

2012-07-26 20:36:19 5569 7

原创 SBT 平衡二叉树,POJ 3481

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove平衡二叉树,调整包括左旋转和右旋转,其中有直接旋转和组合旋转,不好画图,具体的SBT可以看http://blog.csdn.net/acceptedxukai/article/details/6921334自己敲一个

2012-07-26 17:31:59 4217 5

原创 HDU 3473 Minimum Sum 划分树

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove对于xl,xl+1……xr,使得[xi-x]和最小,显然x应当为其中的中位数。中位数可以通过求K大数解决,划分树可搞。对于求和,分为两部分,小于x的部分,大于y的部分,在建树的时候也保存下来分到左子树中的数的和。最终的和

2012-07-26 11:29:58 1721

原创 POJ 2104 K-th Number 归并树与划分树

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove第一次接触,自己也没啥好总结的,都是看网上的资料。归并树是在建树的过程中保存归并排序。划分树是在建树的过程中保存快速排序。其中归并树适合解决一个数在某个区间的名次。划分树适合解决某个区间的K大数。POJ这题是

2012-07-26 10:24:09 3339 1

原创 HDU 4012 Paint on a Wall 搜索

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove对于2*n的矩形,每次能选择子矩形进行染色,问达到最终要求的最小步数。每一步选择一个位置,进行扩展,将尽可能大的部分进行标记,如果遇到已经和目标颜色一样的位置,则跳出。最后把每一步的所有子集都加入到队列当中,总共最多16个方

2012-07-25 11:14:54 2080 1

原创 ZOJ 2477 Magic Cube 三阶魔方还原(IDA*)

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove三阶魔方还原。因为只搜5层,所以使用IDA*搜索。由于每次旋转,每面中心颜色总不变,也就确定了最终的状态,找出每个面中与中间颜色不同的个数的最大值,其中每次旋转会更改每个面的3个位置的颜色,所以 就是(最大值+2)/3。总共

2012-07-19 00:22:05 4024 3

原创 HDU 3567 Eight II 八数码(2)

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove八数码的升级版,给定起点,终点,双向BFS可破。有了魔板那题的基础。同样对这题进行预处理,不过需要注意的是,这题有不同的情况,也就是空位X造成的,所以枚举X的位置,9种置换,进行BFS。对于每一种起点,保存所有的能到达状

2012-07-17 23:13:02 2338 1

原创 HDU 1430 魔板 搜索

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove起始状态和目标状态都已确定,而且状态比较多,可以双向BFS搞定,不过需要记录路径,代码不好写,而且需要时间多。从Amb的博文里学到了预处理,由于是8种颜色,而且可以确定,就可以通过置换,把起始状态转换成12345678,目标

2012-07-17 15:44:43 1917 6

原创 HDU 1401 Solitaire 双向BFS

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove第一次写双向BFS。双向BFS即是从起点和终点开始搜,如果出现交点,说明目标点可达。这点要求是八步之内到达,每步有16个状态,16^8的复杂度还是很高的,由于是确定了起点和终点的,十分适合双向BFS,即从起点和终点分别开始搜

2012-07-16 23:10:57 2739

原创 HDU 3459 Rubik 2×2×2 二阶魔方还原(IDA*)

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove 二阶魔方还原,已经好复杂,好抽象了。题目不要求最短的,不过IDA*写出的应该是最短的吧,而且是字典序最小的。先说一下这个二阶魔方的一个特点,虽然有3种旋转,但是总有一块是不动的,就是后面靠左靠下的那个,既然不动,魔方其

2012-07-16 18:15:33 3259 1

原创 HDU 1813 Escape from Tetris IDA*搜索

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove DEBUG到死啊,先后不断出现TLE,WA等错误。首先这是个好题。开始完全没有思路啊。先预处理每个点到边界的最短距离,这样就可以构造估价函数,也就是所有点到边界最短距离的最大值,也就有了A*剪枝。状态还是很多的,而且不

2012-07-16 09:56:42 1618

原创 HDU 2234 无题I IDA*搜索

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove继续IDA*。有16种变化,但是是有规律的,不需要一一列出。每次变化改变4个位置,估价函数是,最少的可能不满足要求的个数+3/4和上题有点像。跑进了2s内,还不错,不知道31ms是怎么写的。其中IDA*搜索的时候还是

2012-07-14 22:42:42 1736

原创 HDU 2918 Tobo or not Tobo IDA*搜索

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove继续IDA*搜索,估价函数H仍然是曼哈顿距离,每一次转换会改变4个位置的曼哈顿距离,分别改变1,所以把曼哈顿距离和+3/4便可以作为H函数,表示至少需要多少步,一个DFS的剪枝。这题最多九步,BFS应该也无压力可惜没有优

2012-07-14 12:19:22 1777 2

原创 听说访问量超过1W要发帖

听说访问量超过1W的时候必须要发帖留念。最近事情很多,很烦躁。自己坚持做题,CF终于紫了,TC终于没有爆0了。囧POJ,HDU还在刷,专题还在继续。继续加油,cxlove!!!

2012-07-14 08:57:18 3898 17

原创 HDU 1560 DNA sequence IDA*搜索

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove继续IDA*,明显可以想到的一个剪枝是,至少还需要的长度是所有剩余长度的最大值,这样就可以根据深度和估价函数来剪枝,就可以用IDA*了。开始竟然用状态压缩,枚举状态,果断超时,注释部分就是原先写的,其实每步都是贪心,如果取了某个

2012-07-14 00:15:37 1778

原创 HDU 1667 The Rotation Game IDA*搜索

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove第一个IDA*搜索。迭代加深搜索是逐渐加深搜深度,和BFS比较,不需要大量内存存取状态,但是耗时增加,因为好多都是重复搜索。因为迭代加深搜索适用于对内存要求高,但是对时限要求不太高的题目。而IDA*就是在在迭代加深搜索中

2012-07-13 23:10:47 2103

原创 HDU 1043 八数码问题 A*搜索

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove第一个A*搜索,A*是一种启发式搜索,g为已花代价,h为估计的剩余代价,而A*是根据f=g+h作为估价函数进行排列,也就是优先选择可能最优的节点进行扩展。对于八数码问题,以下几个问题需要知道判断有无解问题:根据逆序数直接判断

2012-07-13 21:11:21 14756 9

原创 Codeforces Round #129 (Div. 2)

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove没想到提交的4题都过了, 第一次,rate也涨了,终于紫了。总结:小错误太多A:问距离最近的城市是不是唯一。唯一则输出标号,就是个排序#include#include#include#include#incl

2012-07-12 12:54:57 1544 1

原创 TC SRM 549 DIV2

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove 第一场TC没有爆0,可是 还是短路了。哎,TC的题目太长,理解有障碍。250pt:就是有3个帽子,其中一个下面有一个球。每次会随机交换相邻的两个帽子,问经过n次交换(这里的n是交换的两个帽子中包括球的次数),小球最有可能在

2012-07-10 20:57:27 1144 1

原创 HDU 3810 Magina (推荐)搜索+队列模拟背包

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove 好题啊,前面好多是介绍dota里的这个英雄。。。可以忽略,到了最后一段才开始进入正题。有n个地方有怪物,杀死每一个地方的怪物可以获得金钱gi,但是要花费ti的时间,英雄有个技能是瞬时移动,不需要花费时间,但是前提是两个地方

2012-07-09 16:33:25 1533

原创 TC SRM 400 DIV2

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove没事做场TC,结果跪了。。。。250PT:从(0,0)出发,出租车的速度是一定的,步行的速度也是固定的,所以最快的肯定是全部步行,或者步行至一个出租车处,然后坐车。不会坐两辆出租车的。枚举所有出租车即可。class Gr

2012-07-09 13:29:06 1213

原创 HDU 3535 AreYouBusy 综合背包

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove非常综合的背包。必须得有较好的01背包和完全背包基础,对于分组背包要有非常好的了解。三种情况,0表示每组中至少取一个,1表示每组中至多取一个,2表示随意取,其实就是01背包了。对于每组至少取一个:dp[i][j]=max

2012-07-08 20:13:28 1010

原创 HDU 3033 I love sneakers! 每组最至少取一个的分组背包

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove这是一个每组最少要取一个的分组背包。和平时和分组背包略有不同,以前是每组至多取一个。只需要把中间的两层循环调换即可。先遍历组中每一个物品,然后对于每一个物品遍历容量。01背包和完全背包的差别类似。在第二个物品的时候,

2012-07-07 20:01:33 1419

原创 POJ 3260 The Fewest Coins 多重背包+完全背包

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove买家的硬币是有限制的,是多重背包。卖家每种硬币没有限制,是完全背包。dp_buy[i]表示买家凑齐i需要的最少硬币个数。dp_sale[i]表示专家凑齐i需要的最少硬币个数。但是背包上界不好定,开始以前是专家为m,买

2012-07-07 12:14:35 1138

原创 POJ 1787 Charlie's Change 背包问题

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove乍一看是多重背包问题,由于需要记录每种物品的个数。既然每次在转移状态的时候知道每种物品的个数,便可以根据完全背包来做,这样效率将大大提高,代码也简洁。num[i][j]表示总数为j的时候,i种硬币的个数dp[j]表示总数

2012-07-07 11:35:59 1132

原创 POJ 1787 Charlie's Change 背包问题

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove乍一看是多重背包问题,由于需要记录每种物品的个数。既然每次在转移状态的时候知道每种物品的个数,便可以根据完全背包来做,这样效率将大大提高,代码也简洁。num[i][j]表示总数为j的时候,i种硬币的个数dp[j]表示总数

2012-07-07 11:35:16 1198

原创 贪心小结 [贪心专题16题]

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove自己开的专题,用于集训队暑期集训。题目来源已经给出。1001 部分背包问题。优先选取性价比高的,将单位价格进行排序,依次选取,直至满足条件。#include#include#include#include

2012-07-07 10:18:48 5469 3

原创 POJ 2392 Space Elevator

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove多重背包,但是每一个物品有容量限制。N个柱子,每个柱子有高度,但是有海拔限制。所有柱子的容量限制可以求出,就是所有限制的最大值。对于每一个物品改变上界,直接多重背包,然后果断样例都出不了。只有先计算限制小的,然后再算

2012-07-06 21:12:13 1228

原创 POJ 2923 Relocation 状态DP+01背包

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove比较综合的题目。有n个物品,有两辆车载重分别是c1,c2.问需要多少趟能把物品运完。n比较小,只有10,而且需要把所有物品全部运完,便想到状态压缩来保存状态。首先记录好所有的可行状态,对于状态state能一趟运完。

2012-07-06 09:53:26 1650

空空如也

空空如也

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

TA关注的人

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