
倍增
文章平均质量分 56
倍增
SSL_GYX
座右铭:言念君子,温其如玉。
展开
-
【ybt】【数据结构 倍增 课过 例3】树上距离
树上距离 题目链接:YbtOJ 解题思路 LCA模板题 code #include<iostream> #include<cstdio> using namespace std; int n,m; int dep[100010]; int dis[100010]; int f[100010][21]; int hd[100010],tot; struct abc{ int to,nxt,w; }b[100010]; void add(int x,int y,int z)原创 2021-07-07 20:07:33 · 92 阅读 · 0 评论 -
【ybt】【数据结构 倍增 课过 例2】开车旅行
开车旅行 题目链接:YbtOJ/Luogu 解题思路 我们可以先处理出 AAA 和 BBB 在每个城市会下一个前往的城市是哪个,这个可以用双向链表来处理。 然后我们就可以进行倍增,转移式如下: {f0,i,,j=f0,f0,i,j−1,j−1dis0,i,j=dis0,i,j−1+dis0,f0,i,j−1,j−1dis1,i,j=dis1,i,j−1+dis1,f0,i,j−1,j−1\begin{cases} f_{0,i,,j}=f_{0,f_{0,i,j-1},j-1} \\dis_{0,i,j原创 2021-06-13 15:03:48 · 178 阅读 · 0 评论 -
【ybt】【数据结构 倍增 课过 例1】查找编号
查找编号 题目链接:YbtOJ/Luogu 解题思路 讲真的这玩意儿是二分的模板题。 不过YbtOJ给的是倍增的模板,那就是倍增的模板咯。 code #include<iostream> #include<cstdio> using namespace std; int n,m; int a[2000010]; int main() { cin>>n>>m; for(int i=1;i<=n;i++) scanf("%d",&a[原创 2021-06-12 16:04:48 · 129 阅读 · 0 评论