首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
总结-数据结构
时间:
2015-04-05 09:15:13
阅读:
195
评论:
0
收藏:
0
[点我收藏+]
标签:
数据结构
总结
数据结构
1. 树状数组
写起来很方便, 用的比较多, 比线段树更实用吧. 虽然原理到现在不太清楚...
往往没有裸树状数组的题目, 往往和其他算法相结合.
单次修改或查询: O(logn)
1.
BZOJ-2716-天使玩偶angel-CDQ分治
cdq分治
2.
BZOJ-1878-HH的项链-SDOI2009
离线处理, 求种数
3.
BZOJ-3289-Mato的文件管理-莫队+树状数组
莫队, 用树状数组统计逆序对
树状数组的弱点是不支持区间最大最小值什么的, 但是利用它可以统计前缀和的性质可以进行离线处理或统计某一时刻的数据. 还有可以通过转化的方式使它支持相减. 比如不根据位置而根据权值统计、维护权值出现次数等等.
2. 线段树
线段树操作比较齐全, 区间或单点修改、求和、求最大最小值, 支持一些标记比如增加、乘法等. 但是除非数据特殊不支持区间翻转.
因为统计功能比较强大, 所以有很多变种. 比如和树链剖分结合, 以及zkw线段树、函数式线段树(主席树).
有时需要动态开点
单次修改或查询: O(logn)
1.
CODEVS-2018-反病毒软件-线段树
求第二大
2.
BZOJ-3110-K大数查询-ZJOI2013-整体二分
打标记删除整棵树
3.
COGS-930-找第k小的数-HNOI2012-主席树
函数式线段树
4.
BZOJ-2588-Count-on-a-tree-SPOJ10628-LCA+主席树
函数式线段树
5.
BZOJ-3531-旅行
动态开点线段树, 和链剖结合. 建立多棵线段树
6.
BZOJ-1036-树的统计Count
链剖
3. splay
splay支持的操作是这几项里最全的, 除了上面的还有区间插入、移动等.
可以自底向上, 可以自顶向下, 效率前者高一些, 但有的题目不能做.
上面各种数据结构的题其实都可以用splay做, 不过splay常数略大吧.
splay的巅峰之作就是维护数列了吧. 标记下传真的太头疼了.
单次修改或查询: O(logn)
1.
[codevs 1343] 蚱蜢(省队选拔赛湖南)
自顶向下. 维护区间最大值, 支持单点移动.
2.
[codevs 1514] 书架
只能采用自底向上的splay. 因为不是已知位置而是已知编号.
3.
[codevs 1743] 反转卡片
区间翻转
4.
CODEVS-1758-维护数列-NOI2005-splay
各种操作, 标记下传和维护难度很大, 要求统计最大和子序列.
5.
CODEVS-3303-翻转区间
同上
6.
CH-Round-#63-OrzCC杯#2省选热身赛
平衡树优化动态规划
4. 并查集
性价比很高的算法. 支持集合合并和查找, 以及求秩
单次合并或查找: O(1)
1.
[BZOJ 1012] 最大数maxnumber
更方便地维护单调栈
2.
BZOJ-2001-city城市建设-HNOI2010-CDQ分治
cdq分治, 多次求解最小生成树.
3. CODEVS 的食物链, 一直没有做, 是按秩合并的题目
5. 哈希表
主要用于判重, 做的题少(平常都用STL的set或者map了)
1.
BZOJ-2761-不重复数字
裸hash, 模的数并不是越大越好(还要清零)
总结一下就是序列操作类的题目还可以做, 但遇到其他的比如字符串就只能STL暴力了.
总结-数据结构
标签:
数据结构
总结
原文地址:http://blog.csdn.net/qq_21110267/article/details/44874211
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!