上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: 链接 给你一颗以1为根,2^5的树。让你求出以每个点为根的子树中,到子树中每个点距离和最小的点。 首先先做条件转化,到子树中每个点距离和最小,等价于重心,所以问题变成了求每棵子树的重心。 我们考虑如果用子树重心求出父亲的重心。发现一个显而易见的结论,父亲子树的重心,一定在重儿子子树的重心到根的连线上 阅读全文
posted @ 2020-02-02 17:06 IAT14 阅读(510) 评论(0) 推荐(0) 编辑
摘要: pass 首先,个人觉得把这个数据结构理解成树状数组套主席树是十分不严谨的。主席树的本质是可持久化权值线段树与前缀和思想的结合。而动态主席树是可持久化权值线段树与树状数组思想的结合。并非树套树般的泾渭分明的叠加。 其次,大概讲下对动态主席树的理解。我们静态主席树中,第i个版本维护的是[1,i]的权值 阅读全文
posted @ 2020-02-02 16:39 IAT14 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 需要按照DFS来init,不能用BFS。 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <algorithm> 5 using namespace std; 6 const int MAXN = 2000 阅读全文
posted @ 2020-01-20 14:01 IAT14 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 首先线性基是什么呢。我们考虑我们有n个数。子集数量为2^n个。我们将每个子集内的数全部异或起来。得到一个值。但是我们考虑这些值内会可能存在重复的,太多了。不便于运算。所以我们考虑,能不能除去重复的。 我们假定n个数都是&lt;10^9。我们考虑使用一个30*30的矩阵。其中其中第一行,存一个最高位1 阅读全文
posted @ 2020-01-20 08:41 IAT14 阅读(140) 评论(0) 推荐(0) 编辑
摘要: bitset大概就是让你轻松建立一个很长的二进制数来存东西,并提供了快捷的操作和优美的常数。 #include <bitset> bitset <32> b;32为长度 需要引用头文件,定义一个bitset。 stl的东西,所以从0开始。 支持左右移。 支持下标访问修改。 b.any() b中是否存 阅读全文
posted @ 2020-01-20 08:38 IAT14 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 数据不是很大,我们可以通过莫队算法来很轻易的解决这个问题。注意不要搞混n,m变量。 按照一定顺序来进行操作询问,使得重复操作尽可能的少。我们考虑从一个已经得出的[l,r]的答案,转移到[a,b]的答案就是两个点的曼哈顿距离。可以使用最小曼哈顿距离生成树来解决。但是代码量过大。我们有更简单的解决策略。 阅读全文
posted @ 2020-01-20 08:34 IAT14 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 直接树链剖分就可以啦。 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <algorithm> 5 using namespace std; 6 const int MAXN = 110000; 7 typ 阅读全文
posted @ 2020-01-20 08:29 IAT14 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 1341 一笔画问题 1 #include <cstdio> 2 #include <algorithm> 3 #include <stack> 4 using namespace std; 5 const int MAXN = 110000,MAXM = 510000; 6 stack <int> 阅读全文
posted @ 2020-01-18 20:49 IAT14 阅读(316) 评论(0) 推荐(0) 编辑
摘要: sum[k]表示对应区间内部,空的花瓶的数量。 对于插花,那么从A开始插F朵花,就是找到从A开始时第一个1和第F个1,然后把这一段全部改0。注意到可能插到结尾花还多,所以先求A到n的空瓶数量和F取个min。 对于拿花,直接把对应区间全部赋值1就行了。 如何找到第rk个1,需要都带一个log,可以在外 阅读全文
posted @ 2020-01-15 11:30 IAT14 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 区间加,区间乘,区间修改,区间1到3次方和查询。 (x + a)^2 = x^2 + ax + a^2 (x + a)^3 = x^3 + a^2x + ax^2 + a^3 所以我们发现3次方和再涉及到加法修改时,可以由2次方和推出。2次方和涉及到加法修改时,可以由一次方和推出。 乘法修改更简单, 阅读全文
posted @ 2020-01-15 09:03 IAT14 阅读(119) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页