
倍增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 · 276 阅读 · 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 · 209 阅读 · 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 · 183 阅读 · 0 评论 -
jzoj 4811. 【NOIP2016提高A组五校联考1】排队
Question 图,不给了 Solution 考后听别人打得都是什么树剖,线段树,堆。。。 感觉自己打的个链表有点虚啊。。。 我们先弄一个后序遍历, Code #include<cstdio> #include<algorithm> #define N 100010 using namespace std; struct node{int u,v;}e[N<<...原创 2019-07-03 19:41:01 · 194 阅读 · 0 评论