
数据结构
文章平均质量分 63
Fuko_Ibuki
Eclipse first, the rest nowhere. 已从ACM领域退出,这个账号不会再发题解了。
展开
-
Codeforces 1667B Optimal Partition 数据结构维护dp
文章目录题意题解很有味道的一场比赛,BC两个题的想法都非常精彩。题目链接题意定义一个区间的贡献f(x)f(x)f(x)为该区间的长度乘上该区间所有数之和的符号。问将一个序列分成若干区间的贡献之和的最大值。题解首先可以写出显然的n2n^2n2动态规划做法。dpi=maxj=0i−1dpj+f(j+1,i)dp_i=max_{j=0}^{i-1}dp_j+f(j+1,i)dpi=maxj=0i−1dpj+f(j+1,i)分析区间贡献的性质,发现最优解中若f(x)f(x)f(x)的贡献为负,原创 2022-04-23 00:26:57 · 379 阅读 · 0 评论 -
Codeforces 1632D New Year Concert 数据结构维护尺取
文章目录题意题解题目地址题意定义一个数字序列中如果有一个连续子序列满足这个子序列的最大公约数等于其长度,则称该序列为无聊的。在可以任意修改数字的情况下,对序列xxx存在函数f(x)f(x)f(x)定义为使得该序列不无聊至少需要修改数字的个数。给定一个序列,求这个序列每个前缀的fff函数值。题解我们发现可以将数字改为大质数,这样包含这个数字的区间就不可能无聊。因此假设长度为i−1i-1i−1的前缀不无聊,但是长度为iii的前缀无聊,则仅需修改第iii个数的贪心显然成立。再根据最大公约数随序列长度原创 2022-02-01 20:33:24 · 1134 阅读 · 0 评论 -
2021“MINIEYE杯”中国大学生算法设计超级联赛(9)07题 HDU 7072 Boring data structure problem 可查链表
文章目录题意题解这种签到题场上居然不过,果然是自己的链表水平太差.题意维护一个数据结构.要求能进行四种操作:LLL 在左边插入一个数字RRR 在右边插入一个数字GGG 删除一个已经有的数QQQ 询问在中间的数字,有偶数个的话回答偏右的那个.保证每次插入的数字是1,2,3...1,2,3...1,2,3...按顺序的自然数,不会重复.操作的次数为10710^7107,后面两个操作的次数不超过1.5×1061.5\times 10^61.5×106,只有一组数据.题解显然不能用带log原创 2021-08-17 22:52:17 · 282 阅读 · 0 评论 -
Atcoder dp_q Flowers 数据结构优化dp
文章目录题意题解最近在练习atcoder上的dp场,大概只会做一半.我选出一些不会的题目写一下博客.题意按顺序每朵花有一个高度,一个美丽度,选出一个高度上升的子序列,求美丽度之和的最大值.题解令dpidp_idpi表示以第iii朵花结尾的子序列的美丽度的最大值.则转移就是找到iii之前比第iii朵花矮的位置dpdpdp的最大值,然后加上第iii朵花的美丽度.直接找的话显然是n2n^2n2的,显然用线段树或者树状数组等数据结构进行维护就可以变成n×log(n)n\times log(n)n×l原创 2021-07-22 10:40:59 · 7391 阅读 · 0 评论 -
Codeforces 1493D GCD of an Array stl维护
文章目录题意题解题目地址题意给出一个序列,每次在一个位置上乘一个数,并询问整个数列的gcdgcdgcd.题解所有数字都在2×1052\times10^52×105之内,我们先筛素数,把每一个数的质因子的个数存放到vectorvectorvector里.用nnn个mapmapmap存储每个数的各个素因子的个数有多少个.如果一个质数作为因子出现在所有数中,我们就把它放到台面上,用一个multisetmultisetmultiset存储每一个数的这个质因子的个数,取beginbeginbegin即为原创 2021-03-07 18:55:41 · 10884 阅读 · 0 评论 -
主席树
文章目录前置知识主席树在本题的思想在某提高组模拟赛中出现了一道主席树的裸题.标算乱七八糟,胡搞毛搞嘻嘻哈哈.(老子不听老子不听,标算就是主席树.)所以我学习了一下主席树.下面以主席树标准模板题静态区间第kkk小为例讲解主席树的基本使用.这应该是2004年欧洲的一个ACM里首先出现的题目.在vjudge中有很多一样的题,可以多倍经验.洛谷模板前置知识主席树是可持久化线段树,所以它是...原创 2018-10-27 15:59:09 · 12037 阅读 · 0 评论 -
模拟赛2 T2 断电 字典树查询最大异或,子集标记询问最大与,或
文章目录题意做法题意1.加入一个数.2.询问x与加入的数中某一个的最大异或,最大与,最大或3.仅询问最大异或.1.加入一个数.\newline2.询问x与加入的数中某一个的最大异或,最大与,最大或\newline3.仅询问最大异或.1.加入一个数.2.询问x与加入的数中某一个的最大异或,最大与,最大或3.仅询问最大异或.做法求最大异或的做法不用多说了,加入字典树,询问即可,仁慈的出题人给了...原创 2018-09-25 21:45:06 · 14225 阅读 · 0 评论 -
洛谷 p4234 最小差值生成树
题意题解题意求最长边与最短边差值最小的生成树.题解LCT裸题. 将边按照边权从小到大排序,产生生成树的同时立即更新答案. 如果加入一条边的时候出现了环,把环上最小的边去掉加入该边. 每次跑最小值即可,用LCT可以较方便地维护. 为什么RE了啊啊啊啊啊啊啊啊啊!!!!!!!!!!!!!!!#include<bits/stdc++.h> ...原创 2018-09-02 20:21:20 · 14433 阅读 · 0 评论 -
洛谷 p2387 [noi2014] 膜fa♂森林 lct维护最小生成树
题目简述做法题目简述求1-n的一条路径,路径上所有边的a的最大值和b的最大值相加最小.做法首先把边按照aaa的大小排序,接下来用link_cut_tree维护1→n1→n1\to n的边中bbb组成的最小生成树. 然后da[u]da[u]da[u]依然储存边的编号,边权依然拆成点权. 每次按顺序加入每一条边,如果111和nnn连通就算一下当前加入边的aa...原创 2018-08-28 07:49:29 · 12736 阅读 · 0 评论 -
关于 Link Cut Tree 的一些说明
前言背景原理操作access前言和上次的splay一样,把你们的IndependenceIndependenceIndependence开起来,今天我们再嗨一次! 学习Link Cut Tree需要一定的splay的基础,如果你的基础还是像我一样不够扎实,请点击上面的链接,学习一下splaysplaysplay再走.背景想必大家都知道LCT指的是...原创 2018-08-15 19:05:12 · 11003 阅读 · 0 评论 -
关于splay的一些说明
前言splay出现的背景它的操作push_uprotatesplayfind前言暑假快过完了,大家感觉是不是很棒!gay房也体验过最新的断电模拟器了. 好吧,在开讲之前我还是得说一个.刀剑神域的外传实在太好看了! 除了精彩的战斗场面,神一般的人设和强大的剧情,比起前作来看又多了一样我最喜欢的东西. 神曲!我从一名听众到神崎艾莎的粉丝只经过了一首歌...原创 2018-08-14 11:59:43 · 12349 阅读 · 0 评论 -
Codeforces上几道神一般的数据结构题
Codeforces 620E New Year TreeCodeforces 121E Lucky Array我来安利一道题.Codeforces 620E New Year Tree给一棵树,每个点有个颜色,支持对子树进行覆盖,询问子树中含有多少种不同颜色.颜色最多60种. 如果没有修改操作,可以使用莫队,但是这里有修改操作,不能使用莫队. 那么还剩...原创 2018-05-01 20:49:32 · 14207 阅读 · 2 评论 -
树链剖分 (应该还是比较好懂的)
前言介绍代码实现例题前言把九个分块做完了,终于开始了高级数据结构的学习. 树链剖分是最简单的高级数据结构,没有之一. 注:我这里高级数据结构的定义是模板难度在提高以上的数据结构. 为什么说树链剖分简单呢?因为你只要会dfs和线段树就可以学习了. 所以在这之前,你要先学会的是: dfs序,线段树 那我默认你会了.我想点进来的人想必也是有一定了解的,因此我们就...原创 2018-04-13 17:50:59 · 13606 阅读 · 0 评论 -
几个树链剖分例题
Codeforces 343D Water TreeLuogu P4315 月下”毛景树”Luogu P3979 遥远的国度Luogu P2486 染色树链剖分把我写吐了.为了研究这个东西花费了我4天的时间. 后面我的代码是对的,然后用来对拍的所谓”题解”是错的,害得我把随机的数据手膜了好几遍. 一开始有写完过样例,提交直接A.后来越写调的时间越长,用来对拍的别人的...原创 2018-04-18 15:27:38 · 11783 阅读 · 0 评论 -
Codeforces Round #449 div.2 题解及心路历程
当时的情况题解T1T2T3T4T5彩蛋http://codeforces.com/contest/897 这一次一些珂学家玩了起来,为了信仰,我冒着掉分的风险修仙打比赛.由于我是个蒟蒻,只能做一下div.2了.当时的情况2017年12月2日晚22:05,比赛正式的开始了.看到第一题.100*100,暴力不由分说打上去.4分钟提交搞定.毫不犹豫做B题,...原创 2017-12-03 21:34:13 · 11968 阅读 · 0 评论 -
线段树(重制)
线段树是什么怎么构建模板例题该来的还是要来的.理解了树状数组之后想要解决区间更新及询问的问题,就要用到线段树.当然非常骚的树状数组可以过,不过那就是大佬做的事了.线段树其实不是一个很难的东西,因为递归二分的原因,除了push_down操作比较费事,其它都很好背下来.只要理解一点点就好. update:由于以前写的线段树实在太丑了,不符合我现在的码风,故此把以前的代码全部删掉...原创 2017-11-05 16:18:39 · 12255 阅读 · 0 评论