【ACM学神来了】第三期“数据结构”专题直播,嘉宾:马鑫宇,北京理工大学,区域赛一金,一银,两铜

  • 直播时间
  • 16:00-17:00
  • 7月11号
赛氪官方·赛氪
2015-07-25
阅读数41140

学神来了.005.jpg




图1.jpg




问答时间:2015年 7月11日 16:00-17:00


提问方:赛氪用户

答疑方:马鑫宇


问答规则:

提问同学请在问题前输入 【ACM学神来了】马甲进行提问,例如“【ACM学神来了】,请问P神XXXXX”;

提问范围仅限 ACM相关问题,大神会现场进行解答;

直播过程中可以发表看法、想法,但严禁刷屏;

直播时间为1小时,请各位同学抓紧提问,如想进一步讨论交流可加入如下QQ群;


ACM赛氪直播交流QQ群:468023758


赛氪微信公众平台:

1436408968671194.png

北京理工大学· 2015-07-11

好了,那么今天的解答到此结束,感谢各位捧场。

PS:Orz11菊苣!11菊苣教我进Final!11菊苣教我在Final上虐清华北大!

评论 1 赞同 12
福建师范大学· 2015-07-11

如何把多叉树转成二叉树

评论 1 赞同 12
  • 马鑫宇 左孩子右兄弟。“我把你们当兄弟,你们却把我当父亲”当然你要是边分治的话,加入虚节点也可以。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

暨南大学· 2015-07-11

最短路径的求法和应用?

评论 1 赞同 10
  • 马鑫宇 这个建议看一看清华出版的《网络优化》,详细讲了最短路从线性规划转化成动态规划再转化成标号修正算法的过程。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

哈尔滨工程大学· 2015-07-11

Treap树和其他一些平衡树的区别在哪

评论 1 赞同 11
  • 马鑫宇 ACM中用到的Treap主要是非旋转Treap,可以看吕凯风(就是传说中的VFK)的论文《对无旋转操作的平衡树的一些探究》。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

东北大学· 2015-07-11

马神,并查集的路径压缩是什么意思?

评论 1 赞同 11

评 论 取 消

河海大学· 2015-07-11

ACM学神来了   可持久化Treap和普通Treap的区别

评论 1 赞同 9

评 论 取 消

湖南理工学院· 2015-07-11

树链剖分是怎么剖分树从而使得效率提高的?


评论 1 赞同 10

评 论 取 消

东北林业大学· 2015-07-11

KD-Tree是一种什么树结构?是怎么查找到最近点的?


评论 1 赞同 13
  • 马鑫宇 KD-Tree我觉得吧,就是一个每次按不同维度比较大小的替罪羊树。最近点查找其实是启发式的回溯搜索,效率不高,据说根号的算法。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

南京邮电大学· 2015-07-11

树链剖分是怎么剖分树从而使得效率提高的?

评论 1 赞同 11

评 论 取 消

中国矿业大学· 2015-07-11

【ACM学神来了】跳跃表是什么东西,在ACM里面有用么?

评论 1 赞同 8

评 论 取 消

江苏大学· 2015-07-11

Treap,SBT,Splay他们各自的用处在哪里

评论 1 赞同 9
  • 马鑫宇 Treap和Splay用处比较大,因为可以提取区间,可以打标记;Treap还能持久化。SBT就是快,但它是个裸的平衡树,一般不用来搞别的。(至少我没听说过有人SBT提取区间的,也许是我姿势水平不够?)

    2015-07-11 回复

    回 复 取 消

评 论 取 消

中国海洋大学· 2015-07-11

主席树,笛卡尔树是什么一种树?

评论 1 赞同 14
  • 马鑫宇 主席树就是树状数组套线段树。笛卡尔树没用过,没记错的话应该就是个树堆?ACM应该也不考这个。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

东北大学· 2015-07-11

马神,我想问一下,  10000个int范围内的数字用hash存储应该开多大空间的数组?除数取余的质数又该选取多大的质数?还有就是,针对此题,hash好还是直接用stl的map好?

评论 1 赞同 13
  • 马鑫宇 这个不好说,看你需求。我觉得map就挺好的,不行就unordered_map。自己hash的话当然是开越大越好。要是评测机给开10G内存不判MLE我就敢开2^32……

    2015-07-11 回复

    回 复 取 消

评 论 取 消

江西师范大学· 2015-07-11

前缀树和后缀树的区别是什么

评论 2 赞同 11
  • 熊梅 后缀树和后缀数组的区别又是什么

    2015-07-11 回复

    回 复 取 消

  • 马鑫宇 前缀树应该是Trie树?我没用过不太清楚。后缀树就是把所有后缀做成一个Trie树。裸的后缀树效率太低所以一般是压缩的后缀树,或者是后缀自动机一类的。后缀数组只是把所有后缀排个序而已,根本没有树形结构,也不能直接用来匹配。(所以后缀数组一般都要用加#加目标字符串的形式串在一起再搞)

    2015-07-11 回复

    回 复 取 消

评 论 取 消

兰州大学· 2015-07-11

【ACM学神来了】并查集的路径压缩是什么意思?

评论 1 赞同 12
  • 马鑫宇 就是当查找x的根的时候,递归查找x父亲的根,然后把它赋值给x的父亲指针。这样就吧O(NlogN)变成了O(αN)

    2015-07-11 回复

    回 复 取 消

评 论 取 消

南京航空航天大学· 2015-07-11

如何由二叉树的两种遍历确定另一种遍历?

评论 1 赞同 18

评 论 取 消

哈尔滨师范大学· 2015-07-11

基数排序的实现和应用?

评论 1 赞同 19
  • 马鑫宇 基数排序照着网上的模板敲一下就好。主要是用来水的,有些题本来不让是O(N)解法,你基数排序O(N)排序+离散化,出题人卡不住。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

东南大学· 2015-07-11

Treap树和其他一些平衡树的区别在哪

评论 1 赞同 18
  • 马鑫宇 ACM中用到的Treap主要是非旋转Treap,可以看吕凯风(就是传说中的VFK)的论文《对无旋转操作的平衡树的一些探究》。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

福州大学· 2015-07-11

马神现在大几?

评论 2 赞同 20

评 论 取 消

南京师范大学· 2015-07-11

单调栈是什么,有哪些用法。


评论 1 赞同 24
  • 马鑫宇 就是每次入栈的时候遇到不单调的东西,就一直出栈知道单调性保持了,再把元素加入进去。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

南京大学· 2015-07-11

单调队列和普通队列的区别在哪,有哪些用法。

评论 1 赞同 17
  • 马鑫宇 差别很大,主要是用于O(n)时间内解决一些统计问题,比如限制长度的最大子段和一类的。我理解不深说不好,做一做题就清楚了吧。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

哈尔滨工程大学· 2015-07-11

在做题的时候想不到应该用某种数据结构去解应该怎么办....

评论 1 赞同 24
  • 马鑫宇 重要的不是数据结构,而是问题本身的性质。问题决定结构。有的时候如果一开始就觉得这道题想线段树,老想着维护什么,而题目实际上不是线段树,就出不来了。等你对常用数据结构比较熟悉了应该就会好很多。当然要是出了11学长所谓的可持久化动态仙人掌我也没办法……

    2015-07-11 回复

    回 复 取 消

评 论 取 消

西南大学· 2015-07-11

有没有学习好编程的诀窍

评论 1 赞同 19
  • 马鑫宇 如果是ACM,多读书多做题,学得深入一些比较好。如果是做项目的话,需要有一定的快速成型能力,有的时候学得深入不深入反而不太重要了。实践编程的话,一定要搞清楚自己要干什么,自己在干什么,如果和预想的不一致怎么做,搞清楚这三个代码相当稳定了。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

中国人民大学· 2015-07-11

hash一般采用什么hash算法

评论 1 赞同 17
  • 马鑫宇 乱搞型hash……如果你说数据结构的话,记得是有个hash_map和unordered_map;如果你说字符串hash的话,一般就是乘法模质数就行。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

华南师范大学· 2015-07-11

ACM中要用到红黑树这种数据结构么?

评论 1 赞同 21
  • 马鑫宇 不用。红黑树可以用std::set,可持久化的用stl::rope,而且红黑树不能提取区间不能打标记。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

东北林业大学· 2015-07-11

【ACM学神来了】树状数组算是线段树的一种简化版吗?

评论 1 赞同 19

评 论 取 消

复旦大学· 2015-07-11


可持久化线段树和普通线段树有什么区别?


评论 1 赞同 18
  • 马鑫宇 每次修改的时候自顶向下操作,每改变了一个节点,就复制新的一份出来,而不是直接改变它本身。这个《统计的力量》还有丽洁姐的《可持久化数据结构研究》都有讲,建议看一下。

    2015-07-11 回复

    回 复 取 消

评 论 取 消

哈尔滨工程大学· 2015-07-11

【ACM学神来了】数据结构题在acm赛题中占有多大比例?

评论 1 赞同 22

评 论 取 消

东北财经大学· 2015-07-11

【ACM学神来了】对于一些数据结构我是用stl里面的好还是自己去手写?自己写的运行效率会更高么?

评论 3 赞同 20

评 论 取 消

东北财经大学· 2015-07-11

感觉有些数据结构很难去理解,比如说后缀数组,学习的时候应该怎么办?

评论 1 赞同 23
  • 马鑫宇 尽量理解吧。不过后缀数组什么的原理可以先不管,反正有模板(我会说是我太笨记不住了才依靠模板的么……)

    2015-07-11 回复

    回 复 取 消

评 论 取 消

别默默的看了,快来和大家聊聊吧,登录后回答问题~ 登录 立即注册
赛乐云AI 证书查询 赛氪APP全新升级

下载赛氪APP

参加有趣活动,获得赛程提醒

分享大学生活,获得前辈指点

意见反馈

产品建议、功能吐槽、使用问题…

欢迎提出关于赛氪网的问题和建议 :)

微信公众号
关注赛氪订阅号
微信服务号
关注赛氪服务号
温馨提示

非常抱歉!本站不支持旧版本IE浏览器~~建议使用IE10/IE11/Chrome/Firefox/Safari等高级浏览器浏览。

温馨提示
温馨提示
帮助与反馈

热门问题