
======数据结构======
文章平均质量分 70
NeosKnight
这个作者很懒,什么都没留下…
展开
-
【BZOJ-2329】[HNOI2011] 括号修复
题目链接题目描述现在给你一个长度为 N 的由‘(‘和‘)’组成的字符串,位置标号从 1 到 N。对这个字符串有下列四种操作: Replace a b c:将[a,b]之间的所有括号改成 c。例如:假设原来的字符串为:))())())(,那么执行操作 Replace 2 7 ( 后原来的字符串变为:)(((((()(。Swap a b:将[a,b]之间的字符串翻转。例如:假设原来的...原创 2018-02-26 20:32:45 · 188 阅读 · 0 评论 -
【CF809D】Hitchhiking in the Baltic States
洛谷链接题目描述给你长度为 n 的序列,序列中的每个元素 i 有一个区间限制 [li,ri],你从中选出一个子序列,并给它们标号 xi,要求满足 ∀i<j,xi<xj,且 ∀i,xi∈[li,ri]。 问满足条件子序列的长度最长为多少? 1≤n≤3×10^5 , 1≤li≤ri≤10 ^9。Sol这是一道毒瘤题(调好久QAQ)就是让你求一个最长严格上升子序列 , 只不过是每个...原创 2018-10-07 23:12:31 · 353 阅读 · 0 评论 -
【Luogu P3233】[HNOI2014] 世界树
题目链接题目描述题意:给你一颗树 , 每次询问一些关键点 , 一个点会被离他最近的编号最小的关键点控制,求出每次每个关键点控制的点数Sol这种每次询问一些点的题很可能就是虚树了简单说一下虚树要用虚树的题一般是因为保证了询问点的总数不会很多 , 如果每次询问都便利整棵树就太慢了,而虚树则是只建除了每次询问我们需要的点首先虚树中的边不一定就仅仅只是一条边 , 可能是压缩的子树的一部分,...原创 2018-10-24 22:35:02 · 242 阅读 · 0 评论 -
【CF 666E】Forensic Examination
洛谷题意:给你一个串SSS以及一个字符串数组T[1..m]T[1..m]T[1..m],qqq次询问,每次问SSS的子串S[pl..pr]S[pl..pr]S[pl..pr]在T[l..r]T[l..r]T[l..r]中的哪个串里的出现次数最多,并输出出现次数。如有多解输出最靠前的那一个。Sol(一遍就写出来了 SAMSAMSAM+线段树合并+倍增 , 顿时感觉码力大增 ,一发过样例然后...原创 2019-01-18 20:45:55 · 296 阅读 · 0 评论 -
【LuoguP3348】[ZJOI2016]大森林
题目链接题目描述小Y家里有一个大森林,里面有n棵树,编号从1到n。一开始这些树都只是树苗,只有一个节点,标号为1。这些树都有一个特殊的节点,我们称之为生长节点,这些节点有生长出子节点的能力。小Y掌握了一种魔法,能让第l棵树到第r棵树的生长节点长出一个子节点。同时她还能修改第l棵树到第r棵树的生长节点。她告诉了你她使用魔法的记录,你能不能管理她家的森林,并且回答她的询问呢?Sol一脸毒瘤。...原创 2019-02-21 16:22:02 · 402 阅读 · 0 评论 -
【LuoguP4069】 [SDOI2016]游戏
题目链接题意树上路径插入以到起点距离为 xxx 的一次函数,询问路径 min 。边有边权Sol李超线段树+树剖简单讲李超线段树:支持区间加入一次函数,询问区间的一次函数最值。修改复杂度为 O(log2n)O(log^2n)O(log2n) , 如果是全局加入就是O(log n)O(log\ n)O(log n)查询复杂度为 O(log n)O(log\...原创 2019-02-10 17:09:21 · 266 阅读 · 0 评论 -
【Luogu4299】首都
BZOJ权限题。洛谷题目描述在X星球上有N个国家,每个国家占据着X星球的一座城市。由于国家之间是敌对关系,所以不同国家的两个城市是不会有公路相连的。X星球上战乱频发,如果A国打败了B国,那么B国将永远从这个星球消失,而B国的国土也将归A国管辖。A国国王为了加强统治,会在A国和B国之间修建一条公路,即选择原A国的某个城市和B国某个城市,修建一条连接这两座城市的公路。同样为了便于统治自己的国...原创 2019-02-24 23:04:04 · 140 阅读 · 0 评论 -
【UOJ#207】共价大爷游长沙
题目链接题目描述火车司机出秦川,跳蚤国王下江南,共价大爷游长沙。每个周末,勤劳的共价大爷都会开车游历长沙市。长沙市的交通线路可以抽象成为一个 nnn 个点 n−1n−1n−1 条边的无向图,点编号为 111 到 nnn,任意两点间均存在恰好一条路径,显然两个点之间最多也只会有一条边相连。有一个包含一些点对 (x,y)(x,y)(x,y) 的可重集合SSS,共价大爷的旅行路线是这样确定的:每次...原创 2019-02-19 16:56:58 · 319 阅读 · 0 评论 -
【LuoguP3241】[HNOI2015] 开店
题目链接题意给出一棵边带权的树,多次在线询问一个点到一个区间内的点的距离和。Sol分块过不了的一个 trick ,都知道要算两点之间距离可以拆成到根的距离和他们的 LCA 到根的距离 ,其实要算多个点到一个点距离也可以使用一个类似的 trick。问题就在于快速求解所有的:∑v∈Sdeep[LCA(u,v)]\sum_{v\in S}deep[LCA(u,v)]v∈S∑deep[LCA...原创 2019-03-09 19:32:01 · 214 阅读 · 0 评论 -
【LuoguP3747】[六省联考2017] 相逢是问候
题目链接题意给定一个长度为 n 的序列 a , 给定一个正整数 c每次修改操作是把一段区间内的数 xix_ixi 修改为 cxic^{x_i}cxi询问区间和模 p 的结果Sol修改是把一个数变成 cxc^xcx , 我们很容易想到降幂公式 , 这里由于 p 不一定与 c 互质 , 那么我们就使用扩展欧拉公式 , 也就是:ax={ax  &Th...原创 2019-03-29 21:47:51 · 208 阅读 · 0 评论 -
【LuoguP5280】[ZJOI2019] 线段树
题目链接题目描述略Sol显然不能直接暴力模拟。观察这个东西本质在干什么,就是某一次操作可能进行可能不进行,然后求所有情况下被标记节点总数。这个显然可以转化为概率问题,每次有二分之一的概率进行,问最后期望多少个节点被标记。只需要最后把答案乘上 2t2^t2t , ttt 为操作次数就行了。所以我们只需要求出一个点有标记的概率,这个似乎可以一次次递推得到。于是我们讨论一些情况。容易发...原创 2019-04-16 21:11:05 · 172 阅读 · 0 评论 -
【Luogu5294】[HNOI2019]序列
题目链接题意给定一个序列,要求将它改造成一个非降序列,修改一个数的代价为其改变量的平方。最小化总代价。另有QQQ 次询问,每次修改一个位置上的数。(询问之间独立,互不影响)Sol神仙 保序回归 问题,完全不会。首先是一个暴力的每次 O(n)O(n)O(n) 做法。结论是: 最后的结果序列一定是一段段的相同的数,其值为段中所有元素的平均数。所以暴力就是维护一个单调栈。每次加入一个...原创 2019-04-17 22:11:51 · 546 阅读 · 0 评论 -
【BZOJ 3682】Phorni
题目链接题目描述Phorni 是一个音之妖精,喜欢在你的打字机上跳舞。一天,阳光映射到刚刚淋浴过小雨的城市上时,Phorni 用魔法分裂出了许多个幻影,从 1 到 n 编号。她的每一个幻影都站在打出的字符串的一个位置上,多个幻影可以站在同一个位置上。每一个幻影代表的字符串即为从它站立位置开始的后缀,注意站立位置是从右往左数的。让我们形式化地描述一下,若第 i 个幻影站在 Pi 上,那么...原创 2019-05-10 10:54:00 · 317 阅读 · 0 评论 -
【Luogu P4169】[Violet]天使玩偶/SJY摆棋子
题目链接题目描述Ayu 在七年前曾经收到过一个天使玩偶,当时她把它当作时间囊埋在了地下。而七年后 的今天,Ayu 却忘了她把天使玩偶埋在了哪里,所以她决定仅凭一点模糊的记忆来寻找它。我们把 Ayu 生活的小镇看作一个二维平面坐标系,而 Ayu 会不定时地记起可能在某个点 (xmy) 埋下了天使玩偶;或者 Ayu 会询问你,假如她在 (x,y) ,那么她离近的天使玩偶可能埋下的地方有多远。因...原创 2018-10-04 07:56:37 · 264 阅读 · 0 评论 -
【BZOJ 3489】A Simple RMQ Problem
题目链接题目描述询问区间内只出现过一次的数最大值Sol直接做不好做 , 我们考虑一个数的可能的对询问的影响假设对于位置 iii 上的数 , 它前一个和他相同的数的位置是 preipre_iprei , 后一个和他相同的数的位置是nxtinxt_inxti(没有则各自为 000 , n+1n+1n+1)那么显然的 , 当询问的范围满足 L∈[prei+1,i]L \in [pre_i...原创 2018-10-03 08:30:30 · 449 阅读 · 0 评论 -
【BZOJ5020】[THUWC2017] 在美妙的数学王国中畅游
题目链接题意一个森林,支持加边删边 每一个点上有一个关于x的函数,函数值在[0,1]内 每次给出一个x并询问一条路径上所有点的函数值的和,x也是[0,1]Sol所有人智商为1时,直接算函数值并用LCT维护路径即可 如果只有一次函数就维护∑a∑a\sum a和∑b∑b\sum b然后就是怎么搞这两个不是多项式的函数了为什么不好处理,因为我们不能通过x的次数相同的把和...原创 2018-08-07 17:26:37 · 237 阅读 · 0 评论 -
【BZOJ3669】魔法森林(LCT动态维护最小生成树)
题目连接题目描述为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士。魔法森林可以被看成一个包含个N节点M条边的无向图,节点标号为1..N,边标号为1..M。初始时小E同学在号节点1,隐士则住在号节点N。小E需要通过这一片魔法森林,才能够拜访到隐士。魔法森林中居住了一些妖怪。每当有人经过一条边的时候,这条边上的妖怪就会对其发起攻击。幸运的是,在号节点住着两种守护精灵:...原创 2018-02-21 17:16:26 · 525 阅读 · 0 评论 -
【LuoguP3721】[HNOI2017]单旋
题目链接题目描述详细请自己去看题面。题意: 对于一颗只能进行单旋操作的splay(题中叫spaly),有如下四个操作: 1.插入一个节点,代价为插入后节点的深度。 2.把最小值旋到根,代价为其原来的深度。 3.把最大值旋到根,代价为其原来的深度。 4.进行2操作后把根节点删掉。 5.进行3操作后把根节点删掉。题解一道看起来有点滑稽的题,显然不是用splay做...原创 2018-02-21 22:45:33 · 294 阅读 · 0 评论 -
【Baltic 2004】数字序列(有改动)
原题在BZOJ上的链接题目描述题意:给你一个长度为n的整数序列A。把它变成一个不降的序列。求改动的最小代价,代价为更改前后的数字大小的差值。就是没有了原题中改动次数最小的限制。题解考试时看到这到题就以为是数字序列了… 不说废话了。 既然没有操作次数最小的要求,那么就只用考虑最小代价了(废话) 怎么使代价最小呢?对于一个序列,如果它是单调不降的,我们显然不用去单独管...原创 2018-02-22 19:36:59 · 393 阅读 · 0 评论 -
【BZOJ-2002】[HNOI2010] Bounce 弹飞绵羊
题目链接题目描述某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有...原创 2018-02-22 20:13:33 · 256 阅读 · 0 评论 -
动态树(Link-Cut-Tree)简单总结(指针版本)
Link-Cut-Tree(动态树 LCT)1.定义1. 偏爱子节点: 一颗子树内最后访问的点若在该子树根节点 X 的某个儿子节点 P 的子树中,则称 P 为 X 的偏爱子节点。 2. 偏爱边:连向偏爱子节点的边。 3. 偏爱路径:一条全为偏爱边构成的路径(一定是一条链,类似于树链剖分的重链) 4. 每一条偏爱路径(以下直接写做重链)都由一棵Splay来进行维护. 注意: 1...原创 2018-02-22 20:33:57 · 498 阅读 · 0 评论 -
【LuoguP3457】[POI2007]POW-The Flood
题目链接题目描述给定一张地势图,所有的点都被水淹没,现在有一些关键点,要求放最少的水泵使所有关键点的水都被抽光。题解首先若点iii有一个水泵,那么jjj地的水要想被其抽光的条件为: 存在一条从i到j的路径,使得Max(h[k])<=h[j]其中k在路径i到j上存在一条从i到j的路径,使得Max(h[k])<=h[j]其中k在路径i到j上存在一条从i到j的路径,...原创 2018-02-24 20:12:06 · 226 阅读 · 0 评论 -
【Luogu P2221】 [HAOI2012]高速公路
题目链接题目描述Y901高速公路是一条重要的交通纽带,政府部门建设初期的投入以及使用期间的养护费用都不低,因此政府在这条高速公路上设立了许多收费站。Y901高速公路是一条由N-1段路以及N个收费站组成的东西向的链,我们按照由西向东的顺序将收费站依次编号为1~N,从收费站i行驶到i+1(或从i+1行驶到i)需要收取Vi的费用。高速路刚建成时所有的路段都是免费的。政府部门根据实际情...原创 2018-03-24 16:33:12 · 247 阅读 · 0 评论 -
【Luogu P3960】NOIP2017 day2T3 列队
题目链接题目描述Sylvia 是一个热爱学习的女♂孩子。前段时间,Sylvia 参加了学校的军训。众所周知,军训的时候需要站方阵。Sylvia 所在的方阵中有 n×m 名学生,方阵的行数为 n ,列数为 m 。为了便于管理,教官在训练开始时,按照从前到后,从左到右的顺序给方阵中 的学生从 1 到 n×m编上了号码(参见后面的样例)。即:初始时,第 i 行第 j 列 的学生的...原创 2018-05-12 11:45:13 · 219 阅读 · 0 评论 -
【Luogu P2633 】Count on a tree
题目链接题目描述给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。题解主席树静态区间第K小的树上情况。 只要把序列上的变成按父子关系来就行,用DFS序。求的时候因为是点权,记录每一个点到根的信息后,用两端的减去lca的...原创 2018-06-08 20:34:13 · 305 阅读 · 0 评论 -
【LuoguP3250】[HNOI2016]网络
题目链接题目描述一个简单的网络系统可以被描述成一棵无根树。每个节点为一个服务器。连接服务器与服务器的数据线则看做一条树边。两个服务器进行数据的交互时,数据会经过连接这两个服务器的路径上的所有服务器(包括这两个服务器自身)。由于这条路径是唯一的,当路径上的某个服务器出现故障,无法正常运行时,数据便无法交互。此外,每个数据交互请求都有一个重要度,越重要的请求显然需要得到越高的优先处理权...原创 2018-06-10 10:28:40 · 228 阅读 · 0 评论 -
【BZOJ 3237】连通图(线段树分治)
题目链接题意给出一张图,每次询问删去图中一些边后(边数不超过4)图的连通性题解首先删边是不好处理的,于是我们要把没有删掉的边加入考虑到被删掉边只有4条,那么每一次加边其实有很多是加重了的,可以看出是线段树分治了每一条边影响的询问被分为很多段通过标记永久化和树上dfs栈序撤销操作来批量处理与询问有关的修改加边等价于修改操作P.S:跑得很慢.....代码:...原创 2018-07-30 20:00:21 · 294 阅读 · 0 评论 -
【BZOJ 3261】最大异或和(可持久化trie树)
题目链接题意给出一个序列,有两种操作。 一种是在序列后面加数,一种是询问一个区间内的所有后缀和一个给定数的最大异或和。Sol每次动态询问一个后缀和一个数的异或最值。 我们显然可以把每一个后缀的异或和看成是一个数。但是由于每次插入是从后插入,如果我们维护后缀的化那么就要改很多东西了。 于是只能维护前缀,但怎么算呢。容斥一下,用全局的和异或一下就好了。然后就是区间...原创 2018-07-27 20:16:30 · 462 阅读 · 0 评论 -
【LuoguP4887】第十四分块(前体)
题目链接题意区间两数异或在二进制下有 kkk 个 111 的对数。Sol普通莫队的话,如果要实时维护好区间内的答案需要支持区间对一个数求答案。直接做不是很好做,容易发现其实这也就是一个区间询问。那么可以把莫队中要求的东西再次离线下来。我们把上述询问拆成前缀相减的形式,这样我们要做到就是多次询问一个前缀对一个数的答案。由于在数据范围下二进制下有 kkk 个 111 的数并不是太多,我们...原创 2019-06-27 19:34:51 · 376 阅读 · 0 评论