倍增LCA
Ceyo
这个作者很懒,什么都没留下…
展开
-
【NOIP2013提高组】货车运输
做法:克鲁斯卡尔+倍增LCA#include<cstdio>#include<algorithm>using namespace std;struct street {int u,v,z;}a[50010];struct node {int v,fr,z;}e[20010];int tail[10010],fa[10010],dep[10010];int f[.原创 2019-01-01 12:04:35 · 255 阅读 · 0 评论 -
【NOIP2015提高组】运输计划
本题先求出DFS序,然后倍增LCA。最后用二分判一下即可。#include<cstdio>#include<algorithm>#include<cstring>using namespace std;struct node{int v,fr,t;}e[600010];int tail[300010],de原创 2019-01-01 12:02:17 · 188 阅读 · 0 评论 -
【NOIP2012提高组】开车旅行
这题倍增。当拿到a数组时,我们便记录他的位置并拍个序(再用一个数组)然后,我们就将其变成一个链表的样子。由于题目要求每次这能从左边走到右边,所以我们便从1开始枚举到n,设nx[i][j]表示从i走2j步所到达的点f[i][j][0/1]表示到达A/B所走的路程(一步表示A一天+B一天)上标:#include<cstdio>#include<algorithm&am原创 2019-01-20 07:42:05 · 160 阅读 · 0 评论 -
jzoj 4811. 【NOIP2016提高A组五校联考1】排队
Question图,不给了Solution考后听别人打得都是什么树剖,线段树,堆。。。感觉自己打的个链表有点虚啊。。。我们先弄一个后序遍历,Code#include<cstdio>#include<algorithm>#define N 100010using namespace std;struct node{int u,v;}e[N<<...原创 2019-07-03 19:41:01 · 173 阅读 · 0 评论