自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 loj#10010. 「一本通 1.1 练习 6」糖果传递

转载自:http://hzwer.com/2656.html(大佬写的好清楚)Description老师准备了一堆糖果, 恰好n个小朋友可以分到数目一样多的糖果. 老师要n个小朋友去拿糖果, 然后围着圆桌坐好, 第1个小朋友的左边是第n个小朋友, 其他第i个小朋友左边是第i-1个小朋友. 大家坐好后, 老师发现, 有些小朋友抢了很多的糖果, 有的小朋友只得到了一点点糖果, 甚至一颗也没有 ...

2018-08-17 19:44:02 457

原创 贪心专题

贪心,由局部最优,最终推导出,全部最优。例题:loj 10003:每个工作i有两部分组成,第一部分在a中完成,ai,第二部分在b中完成,bi。所有工作需要先完成a再完成b因此,我们要让a时间小的先完成a,然后去完成b,让b时间大的先完成b(也就是说它也要先完成a),这样工作等待时间最少。那我们怎么选择,a,b的大的跟小的问题呢?我们开辟一个空间m放,ai与bi的最小值,如果mi...

2018-08-17 19:40:30 390 3

原创 线段树 扫描线

例题HDU-1542-Atlantis:扫描线的题就是求在一个二维平面上,多个矩形的覆盖面积,那么这个面积如何用线段树来维护呢?下面解析请配合代码食用。我们可以知道,线段树对于区间修改,求和上时间复杂度很低,因此,我们就用线段树来维护,x轴上我们需要的区间长度。如图我们想要求的三个矩形的坐标我们将它们画出来是这样的:那么我们线段树维护的就是1-2,2-3,3-4,4...

2018-08-15 16:52:36 1121

原创 线段树区间合并

线段树区间合并主要解决一段连续区间修改,查询问题。线段树是树形结构,为解决相邻区间更新,修改问题,我们必须在原本须要维护的区间内,连续段最大值的基础上加上,从左,右两边起,最大的连续区间长度。例题:酒店:此题开始时,所有的房间都是空房间,有两个操作:1、查询长度为x的连续房间,并将房间全部填满,输出左端点值。2、表示退房,将x,到x+y-1的房间退房。我们来看线段树,我们...

2018-08-14 16:27:32 1766

转载 c++容器总结

pair总结:pair<int,int> p1;//创建pairpair<string,int>p2("abc","def");//可直接初始化p1=make_pair(1,4);//可用这种方式赋值typedef pair<int,int> p;//可用typedef命名a=p1.first+p1.second;//用first,调用pair中...

2018-08-14 11:54:30 403

原创 括号序列基础应用

对于x轴,我们想要在x轴上添加不同的几组数,最后我们想要得到(i,j)区间内共有几中数,括号序列,用于解决这种问题,非常方便。下面,例题加图解:nefu 校门外的树我们来看数据:5 41 1 32 2 51 2 42 3 5五个点,四个操作,下面画图解释括号序列:我们想要求3到5之间有多少树,只要求5(包括5)之前左括号减去3(不包括3)之前右括号数量,那么...

2018-08-11 17:06:32 351

原创 二分答案总结&例题解析

对于二分我们最初的了解,就是在一个一次函数中,对于要求的点,(x,y)已知y,对于包含x值的区间二分,根据函数值与y比较,逐步靠近要求的点,直到最终求出要求的点。在程序执行时,二分的时间复杂度为logn,可以极大的减少查找的时间。二分的应用严格来讲答案具有单调性的问题都可以用二分来解决,对于答案类似于一个一次函数,通过不断判断答案是否满足缩小区间。1:求最大值中的最小值:对...

2018-08-11 16:37:04 2004 2

原创 线段树与lazy标记

线段树区间修改与区间查询,如果我们对区间中的每一个值依次进行修改,那么最终结果一定是tle。因此我们在这里加入lazy标记。lazy标记,对于区间更新而言,如果我首次更新这段区域,我就先将需要更新的值加到lazy标签中,暂时不向子节点更新。在第二次更新过程中,我们查到此点,则顺手将此点的lazy标签中的值,更新到子节点,然后再重置lazy标签。这样一来,就将区间更新的时间复杂度,进一步降低。...

2018-08-06 11:41:03 465

原创 线段树基本操作

线段树主要思想用二分区间的形式,以空间换时间降低时间复杂度,建树时间复杂度为nlog(n),查询时间复杂度为log(n):通常建树时用数组模拟链表建树,即获得上图样式线段树,从最大的区间二分,到两个小区间,然后小区间再二分直到得到l==r,即代表一点的区间(例如:1-1)这样的区间,对于数组模拟线段树,我们可以得到他们在我们树数组中的位置,即图中每个框上面圆圈中的数字。这样可以帮助我们快速...

2018-08-06 11:13:37 437

空空如也

空空如也

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

TA关注的人

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