
数据结构
文章平均质量分 78
数据结构
lvzelong2014
一只蒟蒻
展开
-
bzoj3207主席树
3207: 花神的嘲讽计划ⅠTime Limit: 10 Sec Memory Limit: 128 MBSubmit: 2756 Solved: 979[Submit][Status][Discuss]Description背景花神是神,一大癖好就是嘲讽大J,举例如下:“哎你傻不傻的!【hqz:大笨J】”“这道题又被J屎过了!!”“J这程序怎么跑这原创 2017-08-03 16:50:22 · 248 阅读 · 0 评论 -
luogu4775[NOI2018]情报中心 虚树 线段树合并
[NOI2018]情报中心题目传送门分析即zjoi线图之后又一道两百行代码的题。其实luogu题解里面的那份标解已经足够清楚了,自己写一遍只是为了加深理解。题目大意:给定一棵带边权的树,给定树上的多条链,每条链有费用,求有公共边的两条链并的边权和-费用的最大值。这道题的一个核心思路是考虑交边的状态,不难发现如下两种情况:没错我盗的图,略略略对于没有公共Lca的链,他们的链交是一...原创 2019-04-10 07:32:17 · 430 阅读 · 0 评论 -
bzoj2850巧克力王国 K-Dtree
2850: 巧克力王国Time Limit: 60 Sec Memory Limit: 512 MBSubmit: 800 Solved: 296[Submit][Status][Discuss]Description巧克力王国里的巧克力都是由牛奶和可可做成的。但是并不是每一块巧克力都受王国人民的欢迎,因为大家都不喜欢过于甜的巧克力。对于每一块巧克力,我们设原创 2017-08-27 19:23:03 · 478 阅读 · 0 评论 -
bzoj5415: [Noi2018]归程 kruskal
bzoj5415: [Noi2018]归程题目描述:www.lydsy.com/JudgeOnline/upload/noi2018day1.pdf分析NoiD1T1,网络同步赛的时候搞了一个离线正解+在线暴力的75分,居然完全没有意识到这题是kruskal重构树。 想想之前其实也就做过一道bzoj3551kruskal重构树介绍一下kruskal重构树算法。 针对的是...原创 2018-07-31 11:29:11 · 263 阅读 · 0 评论 -
bzoj2120树状数组套主席树解法
这题是分块和莫队的板,不过听说可以树状主席套板,就屁颠屁颠地跑过来打板了。(然而并没有想象得那么简单)首先把颜色去重排序种种然后,记录每个颜色的前一种相同颜色的位置,假设为head数组。l~r中有多少种不同的颜色,就是有多少种l~r中的颜色的前一种颜色的位置在l之前(证明:如果一种颜色有在这段区间内有重复,那么这种颜色在此区间内的第一个的前一个颜色一定在l之前,其余一定在l之后,也就是原创 2017-08-02 14:22:14 · 1054 阅读 · 1 评论 -
codeforces 1097H. Mateusz and an Infinite Sequence 数位Dp + bitset优化Dp
codeforces 1097H. Mateusz and an Infinite Sequence题目链接分析题目大意:给你一个长度为ddd的数组gengengen和模数mmm,定义序列MkM_kMk如下:M0=0M_0={0}M0=0Mk(k>=1)M_k(k>=1)Mk(k>=1)是将Mk−1M_{k-1}Mk−1复制ddd份,且复制的...原创 2019-02-18 19:27:21 · 422 阅读 · 0 评论 -
bzoj3729: Gty的游戏 阶梯博弈 Splay维护dfs序
bzoj3729: Gty的游戏Description某一天gty在与他的妹子玩游戏。 妹子提出一个游戏,给定一棵有根树,每个节点有一些石子,每次可以将不多于L的石子移动到父节点,询问 将某个节点的子树中的石子移动到这个节点先手是否有必胜策略。 gty很快计算出了策略。 但gty的妹子十分机智,她决定修改某个节点的石子或加入某个新节点。 gty不忍心打击妹子,所以他将这个问题原创 2018-01-11 19:02:28 · 258 阅读 · 0 评论 -
bzoj1552robotic sort splay
1552: [Cerc2007]robotic sortTime Limit: 5 Sec Memory Limit: 64 MBSubmit: 1235 Solved: 471[Submit][Status][Discuss]DescriptionInput输入共两行,第一行为一个整数N,N表示物品的个数,1第二行为N个用空格隔开的正整数,表示N个原创 2017-08-25 22:42:13 · 225 阅读 · 0 评论 -
bzoj1588: [HNOI2002]营业额统计 平衡树 Splay
bzoj1588: [HNOI2002]营业额统计Description营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在原创 2018-01-10 19:28:59 · 208 阅读 · 0 评论 -
bzoj3594: \[Scoi2014\]方伯伯的玉米田 最长不降子序列 二维树状数组优化
bzoj3594: [Scoi2014]方伯伯的玉米田Description方伯伯在自己的农田边散步,他突然发现田里的一排玉米非常的不美。 这排玉米一共有N株,它们的高度参差不齐。 方伯伯认为单调不下降序列很美,所以他决定先把一些玉米拔高,再把破坏美感的玉米拔除掉,使得剩下的玉米的高度构成一个单调不下降序列。 方伯伯可以选择一个区间,把这个区间的玉米全部拔高1单位高度,他可以进行...原创 2018-03-10 20:51:12 · 197 阅读 · 0 评论 -
bzoj3073: [Pa2011]Journeys 线段树建边优化
bzoj3073: [Pa2011]JourneysDescriptionSeter建造了一个很大的星球,他准备建造N个国家和无数双向道路。N个国家很快建造好了,用1..N编号,但是他发现道路实在太多了,他要一条条建简直是不可能的!于是他以如下方式建造道路:(a,b),(c,d)表示,对于任意两个国家x,y,如果aSeter好不容易建好了所有道路,他现在在位于P号的首都。Seter想原创 2018-01-24 22:26:22 · 569 阅读 · 0 评论 -
luogu4891序列 线段树
luoguP4891 序列题目传送门分析神仙线段树。被各种优美的暴力吊打。首先BBB数组的修改操作显然是可以暴力的,因为一旦取到了BBB,由于修改操作是单调的,AAA的修改肯定不会再影响到这个取到的BBB。其次是AAA的修改,线段树中维护CCC,这样的话再线段树上二分之后相当于是区间赋值操作。分析一波之后的核心就是要如何保证改修改的修改,不该修改的不修改。维护的值有些取CCC,有...原创 2018-11-01 11:35:46 · 173 阅读 · 0 评论 -
NOI.AC #111. 运气大战 动态Dp 线段树维护矩阵乘法 贪心
NOI.AC #111. 运气大战题目传送门分析如果没有错排这个条件,根据排序不等式,肯定直接排序优秀。有了错排这个条件,有一个神奇的结论,如果第iii个数匹配的是第jjj个数,那么∣i−j∣≤2|i-j|\le 2∣i−j∣≤2排序之后考虑DpDpDp如果iii和jjj可以匹配,那么有f[i]=f[i−1]+w[i]⋅r[i]f[i]=f[i-1]+w[i]\cdot r[i]f[...原创 2018-11-06 21:23:01 · 431 阅读 · 0 评论 -
bzoj 3674: 可持久化并查集加强版
bzoj 3674: 可持久化并查集加强版Description:自从zkysb出了可持久化并查集后…… hzwer:乱写能AC,暴力踩标程 KuribohG:我不路径压缩就过了! ndsf:暴力就可以轻松虐! zky:…… n个集合 m个操作 操作: 1 a b 合并a,b所在集合 2 k 回到第k次操作之后的状态(查询算作操作) 3 a b 询问a,b是否属于同一原创 2018-02-05 08:32:04 · 271 阅读 · 0 评论 -
bzoj5417&&luogu4770你的名字 后缀自动机+线段树合并
bzoj5417&&luogu4770你的名字题目传送门:洛谷bzoj分析题目大意:给定一个模板串SSS,每次给定一个字符串TTT和l,rl,rl,r,求TTT中有多少个本质不同的子串无法匹配SSS的子串S[l⋯r]S[l\cdots r]S[l⋯r]首先肯定考虑的是l=1,r=Sl=1,r=Sl=1,r=S的情况。分析TTT的每一个前缀T[1⋯i]T[1\cdot...原创 2018-12-04 17:29:19 · 195 阅读 · 0 评论 -
bzoj1568: [JSOI2008]Blue Mary开公司 (超哥线段树)
bzoj1568: [JSOI2008]Blue Mary开公司 DescriptionInput第一行 :一个整数N ,表示方案和询问的总数。 接下来N行,每行开头一个单词“Query”或“Project”。 若单词为Query,则后接一个整数T,表示Blue Mary询问第T天的最大收益。 若单词为Project,则后接两个实数S,P,表示该种设计方案第一天原创 2018-01-24 15:05:45 · 287 阅读 · 0 评论 -
codeforces1172 E. Nauuo and ODT LCT
codeforces1172 E. Nauuo and ODT LCT题目传送门分析题目大意:给一棵每个节点有颜色的树,求树上所有路径不同颜色个数和。带修改。一个显然的思路是分颜色考虑,对于每种颜色,考虑没有贡献的路径,那么就是去掉这些颜色的点,剩下的每个连通块内部的点对。也就是连通块的大小平方和条路径没有贡献。。把这些颜色的点全部看成白色,其余看成黑色,问题转化成给你初始是黑色的树,要...原创 2019-06-24 21:19:04 · 453 阅读 · 0 评论 -
bzoj3595: [Scoi2014]方伯伯的Oj 平衡树Splay
bzoj3595: [Scoi2014]方伯伯的OjDescription方伯伯正在做他的Oj。现在他在处理Oj上的用户排名问题。 Oj上注册了n个用户,编号为1~”,一开始他们按照编号排名。方伯伯会按照心情对这些用户做以下四种操作,修改用户的排名和编号: 1.操作格式为1 x y,意味着将编号为z的用户编号改为V,而排名不变,执行完该操作后需要输出该用户在队列中的位置,数据保证x...原创 2018-03-13 20:15:17 · 240 阅读 · 0 评论 -
bzoj3730: 震波 动态点分治 线段树
bzoj3730: 震波题目传送门分析题目大意:待修改询问树上距离某个点不超过K的所有点的点权和。这种类似不超过多少距离和,树上所有路径之类的问题一般都是点分治,因为有修改所以是动态的。对于每个分治重心开一颗以深度为键值的动态开点线段树维护点权和。每次在分治树上跳即可。注意因为需要删除子树影响,所以每个节点要额外维护一颗进入节点的子树的线段树。复杂度O(nlog2)O(nlog^2...原创 2018-12-22 10:22:08 · 270 阅读 · 0 评论 -
bzoj3123: [Sdoi2013]森林 主席树,子树启发式合并
bzoj3123: [Sdoi2013]森林DescriptionInput第一行包含一个正整数testcase,表示当前测试数据的测试点编号。保证1≤testcase≤20。 第二行包含三个整数N,M,T,分别表示节点数、初始边数、操作数。第三行包含N个非负整数表示 N个节点上的权值。 接下来 M行,每行包含两个整数x和 y,表示初始的时候,点x和点y 之间有一条无...原创 2018-08-17 11:19:25 · 214 阅读 · 0 评论 -
bzoj4299: Codechef FRBSUM主席树
bzoj4299: Codechef FRBSUMDescription数集S的ForbiddenSum定义为无法用S的某个子集(可以为空)的和表示的最小的非负整数。 例如,S={1,1,3,7},则它的子集和中包含0(S’=∅),1(S’={1}),2(S’={1,1}),3(S’={3}),4(S’={1,3}),5(S’ = {1, 1, 3}),但是它无法得到6。因此S的Forb...原创 2018-06-23 16:38:24 · 249 阅读 · 0 评论 -
bzoj2716: \[Violet 3\]天使玩偶 cdq分治 曼哈顿距离
bzoj2716: [Violet 3]天使玩偶DescriptionInputOutputHINT分析关键在于每个点的答案可以分成四个方向考虑。所以可以旋转四次坐标系,然后把绝对值去掉。剩下变成询问一个点下方最大值。用主席树/cdq分治都可以似乎确凿是卡了空间的,所以主席树没救了。老老实实cdq代码#include<cstdio>#include&...原创 2018-09-27 20:55:08 · 8205 阅读 · 0 评论 -
bzoj2809dispatching 左偏树
2809: [Apio2012]dispatchingTime Limit: 10 Sec Memory Limit: 128 MBSubmit: 4164 Solved: 2142[Submit][Status][Discuss]Description在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Ma原创 2017-08-27 22:25:25 · 224 阅读 · 0 评论 -
uoj218火车管理 可持久化线段树+线段树
uoj218火车管理题目连接分析如果没有弹栈操作,就是一个普通的线段数+区间覆盖。有了弹栈操作之后,一个非常巧妙的思路是,用主席树维护当前每个节点的插入时间。当弹出一个节点的时候,用主席树找到这个位置的插入时间。调出这个插入时间的前一个时刻版本的线段树,这个版本记录了当前位置的栈的下一个个数的插入时间。记录一下插入操作的吨位,这样就可以在对应的线段树和主席树上修改了。有一个神奇的小操作...原创 2019-03-05 20:44:20 · 241 阅读 · 0 评论 -
bzoj2555: SubString SAM LCT
bzoj2555: SubString题目传送门分析考虑没有插入操作,就是后缀自动机上跑匹配,然后询问某个节点Right集合大小。有插入操作的话,相当于是要动态维护parentparentparent树上Right集合大小。肯定只能上LCTLCTLCT一种办法是LCTLCTLCT维护子树信息,略麻烦。另一种操作是,由于添加节点一定是叶子,所以可以采用不换根的LCT,每次把那个节点到根...原创 2018-12-22 10:28:34 · 238 阅读 · 0 评论 -
bzoj1500维修数列splay
1500: [NOI2005]维修数列Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 14759 Solved: 4832[Submit][Status][Discuss]DescriptionInput输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目原创 2017-08-25 22:35:11 · 358 阅读 · 0 评论 -
bzoj4538: [Hnoi2016]网络 整体二分 差分 树状数组
bzoj4538: [Hnoi2016]网络题目传送门分析二分最大值呗。相当于把所有大于这个值的路径筛出来啦。链修改,点查询->点修改,子树查询。就是u,v+1u,v+1u,v+1,lca,fa[lca]−1lca,fa[lca]-1lca,fa[lca]−1判断某那个点是否经过当前所有链即可。整体二分上一下即可。代码#include<bits/stdc++.h&g...原创 2019-01-03 11:20:33 · 224 阅读 · 0 评论 -
bzoj2725: \[Violet 6\]故乡的梦 Dijkstra +线段树
bzoj2725: [Violet 6]故乡的梦DescriptionInputOutputSample Input6 7 1 2 1 2 3 1 3 4 2 4 5 1 5 6 1 1 3 3 4 6 3 1 6 4 1 2 1 3 4 3 6 5 Sample Output7 6 ...原创 2018-05-08 20:45:05 · 404 阅读 · 0 评论 -
bzoj1861: [Zjoi2006]Book 书架 平衡树 Splay
bzoj1861: [Zjoi2006]Book 书架Description小T有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用1到n的正整数给每本书都编了号。 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本。由于这些书太有吸引力了,所以她看完后常常会忘记原来是放在书柜的什么位置。不过小T的记忆力是非常好的,所以每次放书的时候至少能够将那本书原创 2018-01-10 19:32:48 · 214 阅读 · 0 评论 -
bzoj4765: 普通计算姬 分块 dfs序+线段树
bzoj4765: 普通计算姬Description“奋战三星期,造台计算机”。小G响应号召,花了三小时造了台普通计算姬。普通计算姬比普通计算机要厉害一些 。普通计算机能计算数列区间和,而普通计算姬能计算树中子树和。更具体地,小G的计算姬可以解决这么个问题 :给定一棵n个节点的带权树,节点编号为1到n,以root为根,设sum[p]表示以点p为根的这棵子树中所有节点的权 值和。计...原创 2018-05-31 14:39:52 · 247 阅读 · 0 评论 -
bzoj4025二分图 线段树分治+并查集
4025: 二分图Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 1761 Solved: 654[Submit][Status][Discuss]Description神犇有一个n个节点的图。因为神犇是神犇,所以在T时间内一些边会出现后消失。神犇要求出每一时间段内这个图是否是二分图。这么简单的问题神犇当然会做了,于是他想考原创 2017-12-05 19:42:38 · 829 阅读 · 3 评论 -
bzoj2653middle 主席树+二分答案
2653: middleTime Limit: 20 Sec Memory Limit: 512 MBSubmit: 1855 Solved: 1031[Submit][Status][Discuss]Description一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整。给你一个长度为n的序列s。回答Q个这样的询问:s的左端点在[a,b...原创 2017-08-26 20:12:58 · 440 阅读 · 3 评论 -
bzoj5418: [Noi2018]屠龙勇士 set 扩展中国剩余定理
bzoj5418: [Noi2018]屠龙勇士题目描述:www.lydsy.com/JudgeOnline/upload/noi2018day2.pdf分析可以用multset搞出每个龙被哪把剑打,所以整道题就是最普遍情况下的CRT,也即: ⎧⎩⎨⎪⎪A1x1≡C1(modp1)Anxn≡Cn(modpn)⋮{A1x1≡C1(modp1)⋮Anxn≡Cn(modpn)\begin{c...原创 2018-08-01 16:24:24 · 289 阅读 · 0 评论 -
bzoj3669: [Noi2014]魔法森林 LCT维护最小生成森林
bzoj3669: [Noi2014]魔法森林Description为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士。魔法森林可以被看成一个包含个N节点M条边的无向图,节点标号为1..N,边标号为1..M。初始时小E同学在号节点1,隐士则住在号节点N。小E需要通过这一片魔法森林,才能够拜访到隐士。 魔法森林中居住了一些妖怪。每当有人经过一条边的时候,这条边上的妖怪就会对...原创 2018-08-17 11:28:52 · 205 阅读 · 0 评论 -
bzoj1251 序列终结者 平衡树 Splay
bzoj1251: 序列终结者Description网上有许多题,就是给定一个序列,要你支持几种操作:A、B、C、D。一看另一道题,又是一个序列 要支持几种操作:D、C、B、A。尤其是我们这里的某人,出模拟试题,居然还出了一道这样的,真是没技术含量……这样 我也出一道题,我出这一道的目的是为了让大家以后做这种题目有一个“库”可以依靠,没有什么其他的意思。这道题目 就叫序列终结者吧。 【问题原创 2018-01-10 19:18:53 · 199 阅读 · 0 评论 -
bzoj5371: [Pkusc2018]星际穿越 动态规划,主席树/倍增
bzoj5371: [Pkusc2018]星际穿越Description有n个星球,它们的编号是1到n,它们坐落在同一个星系内,这个星系可以抽象为一条数轴,每个星球都是数轴上的一个点,特别地,编号为i的星球的坐标是i。一开始,由于科技上的原因,这n个星球的居民之间无法进行交流,因此他们也不知道彼此的存在。现在,这些星球独立发展出了星际穿越与星际交流的工具。对于第i个星球,他通过发射强力...原创 2018-10-20 10:24:23 · 701 阅读 · 0 评论 -
bzoj4811: [Ynoi2017]由乃的OJ 树链剖分+线段树 拆位
bzoj4811: [Ynoi2017]由乃的OJDescription由乃正在做她的OJ。现在她在处理OJ上的用户排名问题。OJ上注册了n个用户,编号为1~",一开始他们按照编号排名。由乃会按照心情对这些用户做以下四种操作,修改用户的排名和编号:然而由乃心情非常不好,因为Deus天天问她题。。。因为Deus天天问由乃OI题,所以由乃去学习了一下OI,由于由乃智商挺高,所以OI学的特别熟练...原创 2018-10-26 19:40:12 · 209 阅读 · 0 评论 -
bzoj4105: [Thu Summer Camp 2015]平方运算 线段树处理一类循环问题
bzoj4105: [Thu Summer Camp 2015]平方运算DescriptionInput第一行有三个整数N,M,p,分别代表序列的长度、平方操作与询问操作的总次数以及在平方操作中所要模的数。 接下来一行N个数代表一开始的序列{X1,X2,…,XN}。 接下来M行,每行三个整数op,l,r。其中op代表本次操作的类型。若op=0,代表这是一次平方操作,平方原创 2018-01-29 19:04:44 · 613 阅读 · 4 评论 -
bzoj3720: Gty的妹子树 主席树+分块重构
bzoj3720: Gty的妹子树**Description我曾在弦歌之中听过你, 檀板声碎,半出折子戏。 舞榭歌台被风吹去, 岁月深处尚有余音一缕…… Gty神(xian)犇(chong)从来不缺妹子…… 他来到了一棵妹子树下,发现每个妹子有一个美丽度…… 由于Gty很哲♂学,他只对美丽度大于某个值的妹子感兴趣。 他想知道某个子树中美丽度大于k的妹子个数。 某个妹子的...原创 2018-08-25 16:35:06 · 307 阅读 · 0 评论 -
【学习笔记】两种非旋转平衡树在OI中的应用
【学习笔记】两种非旋转平衡树在OI中的应用前言NOIPNOIPNOIP挂完之后打算把数据结构啃完(不包括LCC,ETT,AVLLCC,ETT,AVLLCC,ETT,AVL等神仙数据结构),于是就开始学习非旋转的平衡树了。然后发现自己被旋转平衡树坑了好久。。非旋转的代码各种吊打旋转平衡树。。。。废话不多说,今天主要讨论的两种非旋转平衡树分别是fhqTreap和替罪羊树。fhqTreap非旋转...原创 2018-11-29 19:09:38 · 574 阅读 · 1 评论