
倍增
文章平均质量分 57
czdb
这个作者很懒,什么都没留下…
展开
-
倍增感受,以及lca倍增模板
感觉倍增就是用来加速状态转移的,如果某一种状态转移具有相同的变化状态,并且满足结合律,那么可以用倍增来加速状态转移。 一个经典的应用就是lca,或者说是求某条路径的第k个点。。 对于lca来说很明显他的每次往上走去寻找祖先,每一次的状态的变化规则是相同的,所以我们可以用倍增来优化,把每个点的第2^0..2^1..2^2距离的点处理出来,然后每一次 查询lca的两个点,我们先把高度统一到相同高原创 2017-09-28 13:20:15 · 314 阅读 · 0 评论 -
F. Cities Excursions(倍增)
F. Cities Excursions time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output There are n cities in Berland. Some pairs of the原创 2017-09-28 13:40:30 · 439 阅读 · 0 评论 -
D. Tree(ICM Technex 2018 and Codeforces Round #463 (Div. 1 + Div. 2, combined)
D. Tree time limit per test 2 seconds memory limit per test 512 megabytes input standard input output standard output You are given a node of the tree with index 1 and with weight 0. Let cnt ...原创 2018-02-23 22:55:57 · 454 阅读 · 0 评论 -
广工校赛B.跳一跳,很简单的(hash+二分+lca)
题目连接:https://www.nowcoder.com/acm/contest/90/B 思路:首先根据题目意思很容易知道这棵树只有26种形态,我们可以处理出这26种形态,然后怎么去判断字典序呢,我们只用找到第一个不相同的位置就行,然后用lca去判断,着不同的位置可以二分找,也可以直接lca找,判断相等用hash即可,这道题十分毒瘤,相同的代码能相差六七百毫秒,能剪枝的就剪把 accode...原创 2018-03-27 09:17:29 · 219 阅读 · 0 评论 -
牛客练习赛 区间的连续段(建图 倍增)
题目连接: https://www.nowcoder.com/acm/contest/82/B 题目思路:首先我们容易想到处理出每个点最远能伸展到哪里,那么就是相当于一个一个连续的点,那么考虑建边,然后倍增就行了 accode #include<bits/stdc++.h> #define LL long long #define INF 0x3f3f3f3f using nam...原创 2018-04-02 16:27:19 · 323 阅读 · 0 评论 -
codeJan和树 (dfs+倍增)
链接:https://www.nowcoder.com/acm/contest/81/D 来源:牛客网 题目描述 codeJan有一天脑洞大开,想到一个有趣的问题。给一个固定根为1号结点的树,定义一个子树的beauty是这个子树的根节点到所有这棵树上其他节点的距离和,叶子节点的beauty是0。定义一个子树的sub-beauty是这个子树的beauty值减去这个子树的某一个子树(不包括自身)...原创 2018-05-18 15:43:42 · 236 阅读 · 0 评论