原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ218.html 题解 如果我们可以知道每次弹出栈之后新的栈顶是什么,那么我们就可以在一棵区间覆盖、区间求和的线段树上完成这个问题。 于是本题的重点转到了如何求新的栈顶。 考虑用一个主席树维护一下每一个时刻每 ...
分类:
其他好文 时间:
2019-02-22 21:42:47
阅读次数:
190
题意:有一块草坪,这块草坪长l 米,宽 w 米,草坪有一些喷头,每个喷头在横坐标为 p 处,每个喷头的纵坐标都是(w/2) ,并且喷头的洒水范围是一个以喷头为圆心,半径为 r 米的圆。每次最少需要打开多少个喷头来给草坪洒水,并且草坪各处都能被洒到,不行输出-1 思路:这是一道区间覆盖(贪心)题: 有 ...
分类:
其他好文 时间:
2019-02-17 23:34:39
阅读次数:
211
题目: 题目的大概意思是约翰这个农民有N条牛,这些牛可以在一天中的某个时间段可以进行工作,他想把这个时间段分成若干个片段让这些牛去进行打扫任务,你的任务是安排尽量少的牛然后可以完成分成这些片段的打扫任务。 输入: 第一行两个数,第一个数代表牛的个数N,第二个数代表时间T,表示的是时间段[1,T]。 ...
分类:
编程语言 时间:
2019-02-12 12:58:57
阅读次数:
224
"传送门" 这个题有点意思啊,我可能kd tree的板子写的有点问题,查询的时候就是要暴力查左右儿子,记录的最大最小值毫无作用,不清楚为什么。 这个题也算是比较简单的啦,由于是子树操作,只要想到按dfs序建树就没有什么问题了 其他的也就是一个区间覆盖,没有什么难度 代码: c++ include i ...
分类:
其他好文 时间:
2019-01-13 21:15:19
阅读次数:
174
"传送门" 只有区间加区间开方我都会……然而加在一起我就gg了…… 然后这题的做法就是对于区间加直接打标记,对于区间开方,如果这个区间的最大值等于最小值就直接区间覆盖(据ljh_2000大佬说这个区间覆盖可以改成区间减去一个数),否则的话如果最小值等于最大值加一,且最小值和最大值开方之后减少的值一样 ...
分类:
其他好文 时间:
2019-01-10 13:12:30
阅读次数:
112
一、区间完全覆盖问题 问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖。 样例:一个长度为8的区间,可选的线段有[2,6],[1,4],[3,6],[3,7],[6,8],[2,4],[3,5]。 求解过程: 1、将每一条线 ...
分类:
其他好文 时间:
2018-10-21 14:23:44
阅读次数:
234
HDU 5861 题意 在n个村庄之间存在n-1段路,令某段路开放一天需要交纳wi的费用,但是每段路只能开放一次,一旦关闭将不再开放。现在给你接下来m天内的计划,在第i天,需要对村庄ai到村庄bi的道路进行开放。在满足m天内花费最小的情况下,求出每天的花销。 分析: 我们可以想到用线段树想到记录每一 ...
分类:
其他好文 时间:
2018-10-15 23:10:05
阅读次数:
221
有一些区间,选择区间$i$可以获得$w_i$的收益,要求每个点上选择的区间少于$k$个,求最大收益。 建图$S(k) \rightarrow x_1(k)\rightarrow x_2(k)\rightarrow...(k)\rightarrow x_n$,对于每个区间有$x_{l_i} (1,w_ ...
分类:
其他好文 时间:
2018-10-12 16:15:53
阅读次数:
139
建一棵答案线段树存栈顶值,两棵可持久化线段树分别存栈顶值和栈顶元素入栈时间 询问就直接在答案线段树上查,弹栈就用入栈时间在对应版本的可持久化线段树上查询即可,修改就是可持久化线段树的区间覆盖 以前一直没写过可持久化线段树的区间覆盖,这里记一下 这题只用单点查询,我们在修改时把对应的区间打上标记并将其 ...
分类:
其他好文 时间:
2018-10-12 13:46:12
阅读次数:
160