自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Chester King

蒟蒻成长中……

  • 博客(13)
  • 收藏
  • 关注

原创 【BZOJ】1452 [JSOI2009]Count 树套树

题目传送门 这题和上一题的二维树状数组其实差不多。 定义f[k][i][j]表示区间为[i,n][j,n]中颜色为k的节点数。 单点修改就把原来该节点颜色用-1更新,现在该节点颜色用1更新。 区间查询也和上一题的更新差不多,差分一下就行了。 话说这题也可以用线段树套线段树做,但是我觉得没有那个必要吧……  p.s.orz zzk,是zzk教会了我写输出优化,拿到了BZOJ上的rank2

2017-09-29 08:37:15 415 2

原创 【BZOJ】1513 [POI2006]Tet-Tetris 3D 树套树

题目传送门 好像我真的低估了树套树了……做完了前面的那题,我竟然以为自己彻底掌握了树套树…… 大佬传送门,话说还是ZZK最强了,博客写的如此清晰、明白。对线段树套线段树还不是很理解的同学可以去大佬的博客里学习一下。 写一下自己对树套树的理解: 树套树其实是由两种线段树组成——权值线段树和标记线段树。外层线段树每一个节点都包含两种内层线段树。先了解一下标记永久化。标记永久化就是不

2017-09-28 16:59:39 284

原创 【POJ】2155 Matrix 树套树&&树状数组

题目传送门 从此入坑树套树,感觉现在自己脑子里还是一片的浆糊啊……感觉树套树好神奇啊…… 这题是一道明显的矩阵修改问题。(其实我也不知道这题的类型是什么,但是形象一点就叫它矩阵修改问题吧) 对于树套树的里外两层线段树的理解:第一层线段树表示横坐标坐标在区间[x1,x2]内的所有子矩阵,第二层线段树表示纵坐标在区间[y1,y2]内的所有子矩阵。 显然用树套树的数据结构,我们可以把所有子矩阵映

2017-09-28 07:19:51 242

原创 【BZOJ】2957 楼房重建 线段树

题目传送门 这题其实可以用分块做的,但是为了接下来的BZOJ2770做准备,还是去学了一发线段树的解法。 首先我们要明白题目的意思:题目给出一些坐标,求当前所有坐标和原点的斜率严格上升的序列的最长长度。 查看n和m的范围,明显我们要想一种时间复杂度为O(nlogn)的算法或数据结构,要求支持插入、统计最大值。 线段树显然满足我们的要求,然后这题的难点就在于怎么用线段树求以一个数为起点的最长

2017-09-27 19:44:40 231

原创 【HDU】3487 Play with Chain Splay

题目传送门 这题和“文艺平衡树”那题其实是差不多的,就是在那题的基础上加上了一个区间转移罢了。(姑且把那个“CUT”操作叫成区间转移吧) 这题的区间转移和上一题的区间翻转有点类似,依然是把l-1转到根,把r+1转到根的右儿子,取当前根的右儿子的左子树。 然后我们可以把给出的c旋转到根,把c+1旋转到根的右儿子,显然现在根的右儿子的左子树为空,我们直接把上面取下来的那个子树放在那个空位置上就行

2017-09-25 21:35:07 320

原创 【BZOJ】Tyvj 1729 文艺平衡树 Splay

题目传送门 好题目,这题让我们彻底明白了splay和别的平衡树的区别所在——splay可以支持区间操作! 这题就是一个区间翻转的裸题,我们可以每次把l-1旋转到根,把r+1旋转到根节点的右儿子,不难发现,我们要翻转的区间就是根的右儿子的左子树。 然后我们引入和线段树类似的lazy_tag,记录当前子树是否需要翻转。(因为一个区间连续翻转两次显然和不需要翻转是一样的) 每次查询节点位置和输出

2017-09-25 21:26:23 210

原创 【洛谷】2759 奇怪的函数 公式变形

题目传送门 好神的一题,纯数学题啊(话说以前那个纯物理题才是真的恶心) 首先我们知道,一个数num的位数=log10(num)+1。 然后我们根据对数函数的性质又知道,log10(x^x)+1=x*log10(x)+1。(这里的‘^’表示的是幂运算的意思,不是异或) 我们还知道,对数函数在R上是增函数。 因此我们可以二分这个x的值,时间复杂度就变成了O(log1e9) 然后这题就AC

2017-09-24 16:20:14 371

原创 【洛谷】2464 [SDOI2008]郁闷的小J 平衡树

题目传送门 这题的思路好诡异啊…… 最近在看有关平衡树的一些东西,看到书上的课后习题有这题。 看到这题我就傻了——这TMD怎么用平衡树做? 题解给出的思路是对每本书的编号离散化后建立平衡树森林,权值为这本书所在的位置。 对于每个修改就把这本书从原来的平衡树中删掉,然后插入新的平衡树中。 询问非常的简单,差分一下就行了。 (话说这题如果用分块做感觉要好想多了……) 附上AC代码:

2017-09-23 09:40:16 362

原创 【BZOJ】1503 [NOI2004]郁闷的出纳员 平衡树

题目传送门 被一道水题卡了一天……我真的好菜啊…… 对于这题的‘A’和‘S’操作,我们没必要每次修改整个平衡树内的权值,而是转化成用一个变量t来表示当前所有员工的工资变动大小。 与之相对应的,插入操作就改成插入一个权值为k+t的人。 删除也非常简单,直接在整个平衡树中求k的后继,然后把k的后继旋转到根,显然当前根的左子树直接被舍弃。 询问就普普通通的搞一下就行了。 p.s.这题的细节较

2017-09-22 20:42:35 183

原创 【洛谷】2344 奶牛抗议 DP+树状数组

题目传送门 这是一道普及组的题目……不要拦着我,我要跳楼…… 首先我们可以轻松写出状态转移方程:f[i]=Σf[j] (j 这个DP的时间复杂度是O(n^2)的,显然过不了这题。 然后我们就考虑有没有一种数据结构可以统计一个限度内的前缀和,显然树状数组满足了我们的要求。 于是这题就A掉啦…… p.s.这题的权值可能较大,记得在对权值离散化一下。 再次p.s.记得考虑1~i这些元素分成

2017-09-20 21:36:00 264

原创 【51nod】1674 区间的价值 V2 状态压缩

题目传送门 woc……woc……woc……(重要的事情说三遍) 这题TMD是一道有概率AC的题目!!!(博主980ms卡常过去的……) 首先我们都知道前缀或者后缀的and和or值的变化是log级别的。证明:把每一位的权值转化成二进制,and的值只可能递减,or的值只可能递增。 然后我们可以枚举区间的and的值,移动端点,根据每个区间的or值统计答案。 p.s.Manchery大佬太强啦,

2017-09-06 20:57:08 363 2

原创 【BZOJ】1150 [CTSC2007]数据备份Backup 堆+链表

题目传送门 题目大意:对给出的距离差分后的n-1个权值中挑出k个不相邻的权值,求挑出的权值的和的最小值。(看懂题目还是挺重要的) 没思路啊没思路,就算告诉我这是一道贪心题我也没思路啊,总不能是堆加链表的骚操作吧……(雾) 对于差分后的n-1个权值,我们可以全都插到堆里。先贪心的挑出一个最小值a,假设这个最小值是答案的一部分,那么显然我们不能单独再取它左边的权值b或右边的权值c了。 那么我们

2017-09-02 10:56:52 233

原创 【TEST】2017百度之星程序设计大赛 - 复赛

Pre:其实这并不是一场考试,使我们这周的作业,但还是我自认为还是挺难的。对于那些觉得这些题目太水而不想做的大佬我只能表示orz了…… 注:HDU上有原题,有兴趣的同学可以去AK一下。 T1 Arithmetic of bomb: 一道超级水的模拟题,因为展开次数不超过10……直接用字符串模拟就好了,注意大数取模。 附上AC代码: #include #include #inc

2017-09-02 10:14:25 620 1

空空如也

空空如也

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

TA关注的人

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