上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要: 由题可知,我们要使最长的路径尽可能小,那么就二分最长的路径,把路径按升序排列,使其具有单调性, 然后把所有长度>mid的路径处理出来,进行树上差分,处理出这些路径都经过的最大的边,if maxpath - maxedge > mid then return false; 阅读全文
posted @ 2019-02-22 10:39 陈星卿 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 讲解: https://rpdreamer.blog.luogu.org/ci-fen-and-shu-shang-ci-fen 阅读全文
posted @ 2019-02-21 22:06 陈星卿 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 总结: 树链剖分版的LCA的dfs1稍有不同,不需要用数组记录每个点的重儿子; 树链剖分维护7个数组,树链剖分——LCA维护4个数组(fa[],dep[],size[],top[])son[]简化成heavyson_id 阅读全文
posted @ 2019-02-21 21:33 陈星卿 阅读(115) 评论(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 陈星卿 阅读(90) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/AT2442 阅读全文
posted @ 2019-02-21 16:00 陈星卿 阅读(138) 评论(0) 推荐(0) 编辑
摘要: https://loj.ac/problem/6121 BFS + 状压 写过就好想,注意细节debug 阅读全文
posted @ 2019-02-21 09:28 陈星卿 阅读(138) 评论(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 陈星卿 阅读(299) 评论(0) 推荐(1) 编辑
摘要: https://www.luogu.org/problemnew/show/P1613 思路: 1.读入 2.建图 3.对于每一个点,向距离它 2^k 长度的点连一条长度为 1 的边 4.在新图上跑1~n的最短路 实现 看题解后,发现思路大致正确,但实现有问题; 具体看代码 阅读全文
posted @ 2019-02-20 10:56 陈星卿 阅读(197) 评论(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 陈星卿 阅读(112) 评论(0) 推荐(0) 编辑
摘要: http://61.139.95.227:82/problem.php?id=1318 线段树区间修改模版 阅读全文
posted @ 2019-01-29 10:56 陈星卿 阅读(132) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 下一页