Cf1705E. Mark and Professor Koro
摘要:题意: 给长度为
n的数列
a,每次可以删除两个相同的数
x,加入
x+1,此时
n−−。 问你能得到的最大的数是多少。 为了增加难度,给了你
q次询问,每次修改一个数(对之后的询问都奏效),再问你同样的问题。 思路: 首先答案跟数列
a的排列顺序无关,跟不同值的个数有关。 也容易想到
阅读全文
[JOISC2020] 星座 3
摘要:题意 传送门 大概是让构造使得不存在矩形不包含白楼房,却包含至少两颗星星,并使得删除星星的
c和最小。 思路 同学说这种矩形问题,考虑笛卡尔树。 两个星星能共存取决于中间
a的最大值。 建出大跟堆笛卡尔树。方便处理,把问题变为选出星星的和最大。 假如以笛卡尔树中一个节点作为最大值
v,因此相当
阅读全文
「JOISC 2020 Day4」治疗计划
摘要:题意: 有
n个房屋,有
m种治疗方案。 一开始所有人都得了病。 每种治疗方案给出:
ti,li,ri,ci。表示第
ti天晚上选择治疗
[li,ri]的人花费
ci。 每天早上得病的人都会往左右相邻传染一个。 问把所有人病治好的最小花费。 思路: 治好相当于选择的每个方
阅读全文
[SDOI2013] 森林(主席树+启发式合并)
摘要:传送门 description 给一个森林,每个点有权值。在线(每次每个变量xor lastans) 操作如下: Q x y k:查询x到y的路径上第k小的权值(保证x到y至少k个点) L x y:将x和y连边。 solution 从Q和L分别可以猜测需要用到主席树和lct。 主席树是我一直不太熟的
阅读全文
「NOI2007」 货币兑换
摘要:luogu P4027 loj 2353 Description 某人在炒股,有A,B两种股票,第
i天买卖一单位A、B股需
ai,
bi元。每天可以多次操作,每次可以卖出手里op%的A和B股,或者买进数量
ratei:1的A、B两种股票。问第
n天手里最多的股票。 Solution
阅读全文
[SDOI2016]游戏
摘要:description 一个长为
n的数列,每个初始为123456789123456789。 操作: 0 s t a b:s到t的链上每个点x跟dist(s,x)*a+b取min。 1 s t:求s到t的链上的min。 solution 李超+树链剖分 关键是想好树链剖分的李超线段树下标维护的是什
阅读全文
[CF938G]Shortest Path Queries
摘要:题意:在标准的求异或最短路的基础上,添加加边删边类的修改操作 思路:离线对操作按时间顺序线段树分治。 其实很好想。加一个维护到根异或和的带权可撤销并查集。 想说的是调代码的问题啦。 我调了一个上午+一个下午原因竟然是因为排序以为(x,y,t)不同,两个操作就不同了,本身大部分情况是这样的。但是自己先
阅读全文
[JSOI2008]火星人
摘要:题意:P4036 Q x y:计算LCQ(x,y)就是从x开始的后缀与y开始的后缀的最长公共前缀 R x d:将第x个改为d I x d:在x后面加入d 思路 如果我们想到了字符串哈希(是一种可加可减,很全面的算法)。 然后我们又想到了二分,这道题就完了! 可惜我都没想到! 然后二分后,判断我们发现
阅读全文
线段树分治
摘要:用途: 线段树分治通常维护时间段,用于有撤销需求的离线操作。所有询问通常一起处理。所以我们就把动态转化为了静态,方便处理更多事情。 例题 1. 动态图连通性(离线) 题意:你要维护一张无向简单图。你被要求加入或删除一条边及查询两个点是否连通。 思路:线段树上区间代表时间段,对应时间段节点用vetor
阅读全文
B - A Simple Task
摘要:https://vjudge.net/contest/446582#problem/B 这道题是一道不错的线段树练代码能力的题。 #include<bits/stdc++.h> using namespace std; const int N=1e6+5; char s[N]; int a[N];
阅读全文