自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

羽裳

我在南极拍下了企鹅与冰川的剪影

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

原创 [BZOJ3351][[IOI2009]Regions][分块]

[BZOJ3351][[IoI2009]Regions][分块]题目大意:给定一棵N<=200000N <= 200000个节点的带颜色的有根树,然后给出Q<=200000Q<=200000个询问,对于每个询问(a,b)(a,b),求所有颜色为aa的子树中颜色bb的数目(某一个节点出现在不同子树中要重复计算)。思路:这道题在某次省选模拟赛中出过,然而当时并不会做,打了树剖+前缀和,可以过N,M<=2

2017-02-28 23:22:11 381

原创 [BZOJ3697][[FJ2014集训]采药人的路径][点分治]

[BZOJ3697][[FJ2014集训]采药人的路径][点分治]题目大意:给定一棵N≤100,000N\le100,000的无根树,树边的权值为0,10,1,求树上有多少条路径中0,10,1的数量相等且把这条路径在某一点分成两条子路径,每条子路径中0,10,1的数量也相等。思路:这题一眼就看出来要用点剖(其实是我在百度上搜的点剖题),然而并不会做,于是去黄学长的博客里学习了一发。首先为了方便,我们

2017-02-28 11:37:02 529

原创 [BZOJ4317][Atm的树][LCA+点分治]

[BZOJ4317][Atm的树][LCA+点分治]题目大意:求大小为NN一棵无根树上每个点和其它所有点树上路径中第KK长的路径。思路:这种树上路径统计问题应该一眼就能看出是树分治裸题吧。。。但是即使是裸的,代码量依然大得吓人(所以LCA倍增数组开小了一位刚好溢出调了好久。)先对树点分一遍,对每个重心所管辖的所有子节点连接重心的路径都维护到重心上的权值线段树(线段树要动态开不然会炸),还要预处理出点

2017-02-27 16:01:36 621 1

原创 [BZOJ3781][小B的询问][莫队]

[BZOJ3781][小B的询问][莫队]题目:有一个序列,包含N个1~K之间的整数。他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重复次数。思路:裸的莫队吧。。直接开数组CC暴力维护每个数出现的次数,区间转移的时候如果假如加入一个数kk,维护平方和就是: ans=ans−C[k]2+(++C[k]

2017-02-27 11:21:10 272

原创 [BZOJ1176][[Balkan2007]Mokia][CDQ分治]

[BZOJ1176][[Balkan2007]Mokia][CDQ分治]题目大意:维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=160000,询问数Q<=10000,W<=2000000.思路:一道双倍经验题,另一题提交地址:http://www.lydsy.com/JudgeOnline/problem.php?id=2683这应该是一道

2017-02-25 11:39:50 230

原创 [BZOJ2733][HNOI2012永无乡][线段树合并+并查集]

[BZOJ2733][HNOI2012永无乡]题目大意: 有一些岛屿,一开始由一些无向边连接。后来也有不断的无向边加入,每一个岛屿有个一独一无二的重要度,问任意时刻的与一个岛屿联通的所有岛中重要度第k大的岛的编号是什么。思路:线段树合并裸题。用并查集维护岛屿之间的连通性,对一个联通块内的岛屿建一棵权值线段树,合并联通块的同时合并两棵线段树。抄了 学习了一发黄学长的线段树合并的板子。代码:#i

2017-02-25 11:16:53 608

原创 [BZOJ1208][[HNOI2004]宠物收养所][STL set+二分]

[BZOJ1208][[HNOI2004]宠物收养所][STL set+二分]题目:题目链接在此:[HNOI2004]宠物收养所”思路:当年出这道题的时候貌似STL还没有解禁,但现在就可以直接用STL的set来做了。对宠物的特点值和每个领养者的特点值都开一个set来维护,可以看出任意时刻,一定会有一个set为空,那么当加入一个人或者宠物时判断其所属的set是否为空,如果不为空就加入,否则在另一个se

2017-02-25 11:02:04 522

原创 [BZOJ3600][没有人的算术][替罪羊树+线段树]

[BZOJ3600][没有人的算术][替罪羊树+线段树]题目大意:定义一种数,要么是0,要么是一个二元组,这个二元组两元都是数。 定义小于是: 0<(l,r)0<(l,r)如果x<ax < a,那么(x,y)>(a,b)(x,y)>(a,b)如果x=a,y>bx = a, y>b,那么(x,y)>(a,b)(x,y)>(a,b)定义等于是:0=00=0如果x=a,y=bx = a, y=

2017-02-24 18:14:29 384

原创 [BZOJ 3524][[Poi2014]Couriers][主席树]

[BZOJ 3524][[Poi2014]Couriers][主席树]题目:给一个长度为n的序列a。1≤a[i]≤n。 m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。题解:题解就是主席树,没什么好说的…… 主席树可以查询区间第K大,那么次数大于(r-l+1)/2自然也没什么好说的了。不得不说黄学长的代码真的强

2017-02-24 16:16:38 376

原创 [BZOJ3523][[Poi2014]Bricks][贪心+优先队列]

[BZOJ3523][[Poi2014]Bricks][贪心+优先队列]题目大意: 给你每种颜色的砖块数量,相同颜色的砖块不能放在一起,两头颜色已经确定,构造一种方案思路:直接贪心,每次选择砖块数量最多的颜色,如果颜色相同优先考虑最后一块砖块的颜色(显然为了防止和最后一块颜色相同,要把这些砖块提前放掉。)维护数量最多的颜色可以用优先队列,每次取出队首,如果颜色和前一块砖块颜色一样就再取队首,然

2017-02-24 16:04:45 543

原创 [BZOJ2716][天使玩偶angel][CDQ分治]

[BZOJ2716][天使玩偶angel][CDQ分治]题目大意: 先给出n个点, 然后有m个操作, (1, x, y) 表示查询离(x, y)最近点的曼哈顿距离, (2, x, y) 表示插入点 (x, y)。CDQ分治相关:这道题在线的话是可以用KD-Tree维护平面上的点集。但是既然题目没有要求在线那就用CDQ分治做好了。CDQ分治是一种离线的分治算法。对于一个数据结构问题,无非存在两种

2017-02-24 14:04:15 2156

原创 [BZOJ3730][震波][动态树分治+线段树+LCA]

[BZOJ3730][震波][动态树分治+线段树+LCA]题目大意:给定一棵树,要求支持两种操作: 操作 描述 (0,x,k)(0,x,k) 求所有和节点x距离不超过K的节点权值和 (1,x,y)(1,x,y) 将节点x的权值修改为y思路:树分治题,首先求出每个重心,对重心连边形成点分树。然后在每个重心上动态开两颗线段树。用在x位置增加y表示距离重心x的位置有一个权值为y的点

2017-02-23 16:00:42 1855

原创 [BZOJ 2120][数颜色][带修改的莫队]

[BZOJ 2120][数颜色][带修改的莫队]安利大法好,有关莫队算法可以关注这篇文章: https://zhuanlan.zhihu.com/p/25017840题目大意:处理两种询问,第一种是统计区间[L,R][L,R]中有几种不同的颜色,第二种是将颜色A修改成B。询问数和区间长度都<=10000,暴力完全可过……思路:和普通莫队同理,分块后用(l,r)(l,r)去更新(l+1,r),(l−

2017-02-23 14:47:12 367

原创 [BZOJ3687][简单题][Bitset]

[BZOJ3687][简单题][Bitset]题目一上来四个问题直接吓死我。。。 然后发现只用做第四个问题。。。思路:由于最终答案求的是异或和,一个数异或另一个树两遍还是这个数本身,所以每一个数只有0/1两种状态,就可以开一个长度为最大数的Bitset,每一位代表这一位下标代表的数字是否存在。那么加入一个数K,就把这个Bitset整体左移K位就好了。至于Bitset是什么,感性的理解为一个超长的二

2017-02-23 14:27:51 285

原创 Markdown 数学公式总结

Markdown 数学公式总结CSDN Markdown使用数学公式行间公式:\\\\(x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}\\\\)显示效果: x=−b±b2−4ac√2ax=\frac{-b\pm\sqrt{b^2-4ac}}{2a}行内公式:$$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$显示效果x=−b±b2−4ac−−−−−−−√

2017-02-23 14:12:45 400

原创 [BZOJ 3784][树上的路径][点分治+堆]

[BZOJ 3784][树上的路径][点分治+堆]题目大意:给定一个NN个结点的树,结点用正整数1…N1…N编号。每条边有一个正整数权值。用dist(a,b)dist(a,b)表示从结点aa到结点bb路边上经过边的权值。其中要求b>ab>a。将这n(n+1)2\frac{n(n+1)}{2}个距离从大到小排序,输出前MM个距离值。思路:这道题和[BZOJ2006 超级钢琴]类似,没有过的同学可以先切

2017-02-23 14:02:24 412

原创 [BZOJ2006][[NOI2010]超级钢琴][优先队列+线段树]

[BZOJ2006][[NOI2010]超级钢琴][优先队列+线段树]题目大意:给定一个长度为N(≤500,000)的序列,求K个本质不同的长度大于L小于R的序列的序列和的总和的最大值。两个序列本质不同当且仅当两个序列内元素的集合不同。思路:一开始觉得这题是道直接贪心的傻逼题,然后突然发现序列中的元素存在负数。虽然这道题很皮,但是基本的思路还是不变的。假设题意不变,使得序列内的元素都是非负整数,我们

2017-02-23 13:25:03 387

空空如也

空空如也

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

TA关注的人

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