倍增
bababaab
QwQ
展开
-
BZOJ 1602: [Usaco2008 Oct]牧场行走
树上倍增lca 水题啊,练练手。 先一遍dfs搞出树和father[i][j](意为第i个节点的2^j的祖先)以及distance[i](意为i到根节点的距离) 答案就是distance[x]+distance[y]-2*distance[lca(x,y)] //lca(x,y)为最近公共祖先 代码 #include #include #include #define g原创 2016-02-04 15:33:48 · 471 阅读 · 0 评论 -
BZOJ 1636: [Usaco2007 Jan]Balanced Lineup
方法很多 倍增,线段树,树状数组都是可以的 维护区间最大值和最小值 推荐用倍增 虽然我写了树状数组。。。。#include<cstdio> #include<cstring> #include<algorithm> #define g getchar() #define ll long long #define inf 0x3f3f3f3f using namespace std; inli原创 2016-07-24 13:12:28 · 903 阅读 · 0 评论