摘要:
A题 找两两比列,按2的次幂进行划分 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> pll; const int N=1e5+200; const int mod=1e9+ 阅读全文
posted @ 2021-02-17 23:23
朝暮不思
阅读(167)
评论(2)
推荐(0)
摘要:
这题如果注意到m的范围,那么思路将会豁然开朗 因为如果是一棵树,那么直接lca就能求得两点间最小值 但是现在是图,并且边数就比一棵树大100左右 所以我们可以想到,先将图中取出生成树,用lca求答案 那么剩下就有100条边左右未使用,我们发现,答案可能经过这些边,因此我们枚举这些边的端点去做01最短 阅读全文
posted @ 2021-02-17 19:24
朝暮不思
阅读(82)
评论(0)
推荐(0)
摘要:
这题的第一想法就是我们对根节点进行贪心构造,使得左子树和右子树的差最大,这是最优的 左子树自然是以n-1为高度的满二叉树,这样节点最多,那么右子树我们需要考虑如何满足高度的平衡限制 我们发现为了对每个点都满足左右子树差值为d,我们相当于对于每个节点,左子树是一个高度为i-1的最少节点的树,而右子树是 阅读全文
posted @ 2021-02-17 14:45
朝暮不思
阅读(37)
评论(0)
推荐(0)

浙公网安备 33010602011771号