--学习心得
文章平均质量分 89
chentong1023
OIer
展开
-
【学习心得】Link-cut Tree
Link-cut Tree是一种支持改变树(森林)的形态(link和cut),同时维护树的路径上节点信息的数据结构。lct通过splay来维护每次的perferred path,说白了就是一个动态的树链剖分。Link-cut Tree需要支持以下的操作: 1.access(x): 将节点x连接到perferred path上,返回值是一个节点,如果这是第一次access,则返回根节点,如果之前原创 2016-05-13 21:32:14 · 303 阅读 · 0 评论 -
【学习心得】分块
介绍分块是信息学中经常用到的一个思想。主要是通过将整个序列分割成根号个块来保证复杂度。分块可以对询问进行预处理,修改或查询时,主要就是靠完整的块打标记或直接查,不完整的块暴力改或暴力查。这样每个块中的操作的复杂度不会超过sqrt(n)。 对于一些复杂的树形数据结构,在考场上有可能会紧张写不出来,这时候使用分块就是一个很好的选择,此时分块的代码复杂度与分数的性价比是很高的。 (题外话:其实分块是一原创 2016-05-20 20:37:05 · 239 阅读 · 0 评论 -
关于Fibonacci博弈的一些学习
关于Fibonacci博弈的一些学习一道例题问题 给定n(n≥2)n(n\ge 2)个石头,游戏双方轮流取至少一个石子,取到最后一个石子的人算赢,但是要满足一下规则: 第一次取不能全部取完所有的石子。 设前一次取的石子数为mm,这次取的石子的数量不能超过2m2m。 问先手是否有必胜策略。 分析当时看到这道题(当时看的还是加强版)的时候第一反应是设计DP。计fi原创 2017-04-25 22:15:51 · 345 阅读 · 0 评论