
分治&区间维护
文章平均质量分 81
分治&区间维护
_rhinoceros_
非淡泊无以明志,非宁静无以致远。
展开
-
AtCoder ABC001D - 感雨時刻の整理 题解及翻译(差分,排序,占位输出方式)
给定一个变量 m, 之后是 m 组时间段以“时分-时分”给出要求将其转化之后再合并转化方式为,起始时间向前移动到能被5整除,结束时间向后移动到能被5整除,如:1148-1210转化为1145-1210合并方式为,将重复的时间段合并。原创 2023-09-17 09:05:58 · 266 阅读 · 0 评论 -
洛谷P3372 写了一下午线段树模板的感想(无代码)
一、算法分析断断续续看了一段时间线段树,开始时其实是很懵的,感觉相对ST表、树状数组(蓝书上树状数组那个图一看就懂了)之类的来讲,线段树难不少于是将之搁置数天,直到今天早上又拿起来看,突然感觉这个实际上其实就是一个二分区间然后递归求解的过程,然后对每个节点加入了一个附加值用来暂存增量以进行优化,于是恍然大悟,我的理解是任何一个区间都可以用二分区间的方法进行拆分,比如1到8就是1到8,但是1到7怎...原创 2019-12-19 18:41:28 · 144 阅读 · 0 评论 -
(贪心)(线段树) 洛谷P3078 [USACO13MAR]扑克牌型Poker Hands
一、算法分析本人做这道题的时候,一开始以为是个区间修改的问题,然后就套上之前写的线段树模板,再加一波递归,结果只拿到了90,最后一个点还是超时了。所以后来仔细想了一下,还是要进行高效算法设计。个人的思路是对于序列依次考察,从前往后推。比如序列24123,先看2,如果只有一个2,那么结果是显然的,打两次牌即可,所以这个情况下答案是2 。然后再看24,那么打两次之后,2打完了还有4,于是就要打4次。...原创 2019-12-29 01:13:36 · 325 阅读 · 0 评论 -
ST表-POJ3264 Balanced Lineup
一、翻译及算法分析USACO来源的题经常一言不合就是奶牛,很多题目都和牛有关。言归正传,本题:对于每天的挤奶工作,John 的 N 头牛总是以相同的序列排成一队。一天, John 决定选择一些牛组织一场比赛。为了简单起见,他会从挤奶队伍中挑选一个连续的奶牛队伍来玩这个游戏。然而,为了让所有的奶牛都玩得开心,它们的身高不应该相差太大。(注意核心题面)For each group, he wa...原创 2019-12-06 01:57:10 · 98 阅读 · 0 评论 -
树状数组-UVa1428 Ping pong题解
算法分析一、为何看到这道题想到用树状数组?首先看到题目上有一句话:For some reason, the contestants can’t choose a referee whose skill rank is higher or lower than both of theirs.也就是说裁判的技能值必须要在两个玩家之间。但是这句话还不能让我们确定用树状数组来做这道题。还有一个关键在于...原创 2019-11-29 01:13:43 · 133 阅读 · 0 评论 -
ST表-模板-洛谷P3865
一、写在前面刚开始学习一个新玩意的时候当然是写一个模板了,对于静态的区间最值查询,ST表是个好方法。这道模板题强调了“最大数据时限只有0.8s,数据强度不低,请务必保证你的每次查询复杂度为 O(1) O(1)”,下面就用实际经历“解释一下”。先贴代码。二、代码#include<iostream>#include<cstdio>#include<cstrin...原创 2019-12-03 01:10:00 · 203 阅读 · 0 评论 -
(扫描法)UVA11054 Gergovia的酒交易 均分纸牌
一、算法分析首先观察这道题,题目中表明,只有相邻的村庄才可以实现买卖,那么可以想象一下,将这一行的村庄看做是三个部分,处理区、交易集散地、待处理区。然后从左向右扫。比如对于:5 -4 1 -3 1这个序列,我们从左向右开始扫描。首先将5看做处理区,将-4看做交易集散地,进行第一次交易,维护处理区的供需平衡,就要给交易集散地加5,变为了-1这样劳动力耗费了5,接下来继续扫描,将交易集散地向右...原创 2020-01-25 22:27:08 · 206 阅读 · 0 评论