![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
three trees
三木无林,却以成森
展开
-
2019南昌网络赛 J. Distance on the tree
我们对于每个节点建立到根节点的线段树,即我们建立一颗主席树来维护 对于每个查询,答案是query(1, x) + query(1, y) - 2 * query(1, lca(x, y)) #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull;...原创 2019-04-25 21:51:24 · 92 阅读 · 0 评论 -
lowbit理解
我们在树状数组中可以遇到lowbit这个函数,他的用处是找最低位1的,一般写成(x & -x)形式。 原理 我们知道在计算机中二进制是以补码存储的。 对于x(x>0),我们知道他的补码就是他的本身,但-x怎么求呢 对于整数x,[x]补=2n+1−∣x∣[x]_补=2^{n+1} - |x|[x]补=2n+1−∣x∣,n为x的二进制最高位 设x=26,[x]补=011010(B)x=...原创 2019-08-20 11:37:09 · 476 阅读 · 0 评论 -
2019 ccpc 网络赛——hdu-6704-K-th occurrence--后缀数组+主席树
先贴个代码 /*后缀数组+主席树*/ #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; const int N = 1e5 + 100; struct node//静态主席树节点 { int l, r, val; }T[N * ...原创 2019-09-06 21:57:58 · 172 阅读 · 0 评论 -
2019 icpc 沈阳网络赛 B Dudu's maze 并查集
题意 我们已知n个点,m条边,k个标记。可能存在重边,无自环(就是不存在 a->a,但存在环) 除了k个被标记的点,其他点都有一个糖果,并且这些点是可以任意的选择道路。被标记的点只能随机的被安排道路(只能被安排一次,下次遇到就结束)。先要求从1号屋开始,最多能拿多少糖果 分析 首先我们看到了随机,可想而知是个期望题。由于我们只有一次跳转的机会,这样会发现只有与1号屋相连的(直接或间接)怪兽屋...原创 2019-09-15 19:17:25 · 130 阅读 · 0 评论