05 2018 档案
摘要:[题目描述]由于地震使得连接汶川县城电话线全部损坏,假如你是负责将电话线接到震中汶川县城的负责人,汶川县城周围分布着 N(1≤N≤1,000)根按 1..N 顺次编号的废弃的电话线杆,任意两根电话线杆间都没有电话线相连。一共 P(1≤P≤10,000)对电话线杆间可以拉电话线,其余的由于地震使得无法
阅读全文
摘要:题目描述如下: 经过几个月辛勤的工作,FJ 决定让奶牛放假。假期可以在 1…N 天内任意选择一段(需要连续),每一天都有一个享受指数 W。但是奶牛的要求非常苛刻,假期不能短于 P 天,否则奶牛不能得到足够的休息;假期也不能超过 Q 天,否则奶牛会玩的腻烦。FJ 想知道奶牛们能获得的最大享受指数。In
阅读全文
摘要:今天我们学习扫描线。扫描线大多数时候用于计算矩形面积,那我们如何处理有重合的情况呢? 我们想象有一条线从下向上扫描,之后每次扫描的时候,你可以计算一下当前在线上有多长的区间被覆盖,我们相当于把矩形转化为无数小段,之后分别进行区间求和。这一部分是可以用线段树实现的。 这里有一些问题,首先因为有重叠的区
阅读全文
摘要:今天学点更难的。 1.区间修改 区间修改,就是修改一整段的值。第一种方法是进行循环单点修改,但是这样复杂度显然太大……为了能节省复杂度,我们有一种方法,就是使用lazy标记,我们修改一个区间的时候,并不需要把区间中的所有值即刻修改,只要在访问的时候修改即可。那么我们对于修改的区间打上lazy标记,记
阅读全文
摘要:蒟蒻终于要开始好好学线段树了…… 线段树是一种二叉树形结构(二叉搜索树),属于平衡树的一种。它将线段区间组织成树形的结构,并用每个节点来表示一条线段[a,b]。每个节点的左右儿子线段分别是该线段的左半[a,(a+b)/2]和右半[(a+b)/2+1,b]区间,递归定义之后就是一棵线段树。 1.建树
阅读全文