02 2019 档案

摘要:https://www.luogu.org/problemnew/show/P3398 题意简单概括一下就是求树上两条路径是否相交; 有这样一个性质: if相交,则必有lca(a,b) 在路径c <-> d 上or lca(c,d) 在路径a <-> b 上; 接下来就是这样一个问题: 怎样判断一个 阅读全文
posted @ 2019-02-22 15:59 陈星卿 阅读(163) 评论(0) 推荐(0)
摘要:https://www.luogu.org/problemnew/show/P1967 由题可知,我们走的路的边应尽可能大,所以通过$kruscal$建最大生成树的图,再树上倍增,注意可能有多棵树; 最开始的写法之所以是错误的,是因为会多求一段,而我们只需要求到LCA就行; 阅读全文
posted @ 2019-02-22 14:45 陈星卿 阅读(199) 评论(0) 推荐(0)
摘要:https://www.luogu.org/problemnew/show/P3258 注意开始和最后结尾 阅读全文
posted @ 2019-02-22 10:43 陈星卿 阅读(227) 评论(0) 推荐(0)
摘要:由题可知,我们要使最长的路径尽可能小,那么就二分最长的路径,把路径按升序排列,使其具有单调性, 然后把所有长度>mid的路径处理出来,进行树上差分,处理出这些路径都经过的最大的边,if maxpath - maxedge > mid then return false; 阅读全文
posted @ 2019-02-22 10:39 陈星卿 阅读(169) 评论(0) 推荐(0)
摘要:讲解: https://rpdreamer.blog.luogu.org/ci-fen-and-shu-shang-ci-fen 阅读全文
posted @ 2019-02-21 22:06 陈星卿 阅读(200) 评论(0) 推荐(0)
摘要:总结: 树链剖分版的LCA的dfs1稍有不同,不需要用数组记录每个点的重儿子; 树链剖分维护7个数组,树链剖分——LCA维护4个数组(fa[],dep[],size[],top[])son[]简化成heavyson_id 阅读全文
posted @ 2019-02-21 21:33 陈星卿 阅读(121) 评论(0) 推荐(0)
摘要:#include #define read read() #define up(i,l,r) for(register int i = (l);i = (r);i--) #define traversal_vedge(i) for(register int i = head[u]; i ;i = e[i].nxt) #define ll long long using namespace st... 阅读全文
posted @ 2019-02-21 19:51 陈星卿 阅读(97) 评论(0) 推荐(0)
摘要:https://www.luogu.org/problemnew/show/AT2442 阅读全文
posted @ 2019-02-21 16:00 陈星卿 阅读(143) 评论(0) 推荐(0)
摘要:https://loj.ac/problem/6121 BFS + 状压 写过就好想,注意细节debug 阅读全文
posted @ 2019-02-21 09:28 陈星卿 阅读(147) 评论(0) 推荐(0)
摘要:https://loj.ac/problem/10072 针对无向图 因为Floyd是按照结点的顺序更新最短路的,所以我们在更新最短路之前先找到一个连接点k,当前的点k肯定不存在于已存在的最短路f[i][j]的路径上,因为我们还没用这个k去更新最短路,相当于 (i -> k -> j -> j到i的 阅读全文
posted @ 2019-02-20 16:01 陈星卿 阅读(345) 评论(0) 推荐(1)
摘要:https://www.luogu.org/problemnew/show/P1613 思路: 1.读入 2.建图 3.对于每一个点,向距离它 2^k 长度的点连一条长度为 1 的边 4.在新图上跑1~n的最短路 实现 看题解后,发现思路大致正确,但实现有问题; 具体看代码 阅读全文
posted @ 2019-02-20 10:56 陈星卿 阅读(214) 评论(0) 推荐(0)
摘要:1 #include 2 #define read read() 3 #define up(i,l,r) for(int i = (l);i 57) {if(ch == '-') f = -1; ch = getchar();} 9 while(ch >=48 && ch v; 19 int Get_id(int x) {return lower_bound(v.beg... 阅读全文
posted @ 2019-02-12 11:11 陈星卿 阅读(119) 评论(0) 推荐(0)