
LCA
二分抄代码
去了18ec没资格去19ec的反向训练选手
展开
-
gym101741 C. Cover the Paths
https://codeforces.com/gym/101741/problem/C这题是受了18徐州的G题启发,在树上路径问题一般放到lca处讨论那么这题想到路径lca就很好贪心了,我们随便选一个根节点,然后把每条路径的lca求出来,吧路径存在lca上然后再按照dfs序的顺序处理,也就是说,我们处理一棵子树,必须把那些路径完全在这棵子树的处理完那么一条路径,最上只能放在lca的位置选择lca这个点覆盖他,所以我们把路径放在lca上枚举每个点他作为lca的所有路径,如果某条路径的两个端原创 2020-12-10 22:22:57 · 206 阅读 · 0 评论 -
codeforces1304E 1-Trees and Queries
https://codeforces.com/contest/1304/problem/E10点多才进cf发现是9点开始。。。这E也太水了。。。不过看学弟说好像D比较难可以任意走,那么只要路径长度<=k,然后奇偶性和k相同就行了就直接枚举3种情况,直接走a,b,或者a走到x,y走到b,或者a走到y,x走到b由于其实绕一圈,奇偶性还是不变,相当于把x-y在树上的部分走了两遍...原创 2020-02-16 13:39:52 · 339 阅读 · 0 评论 -
codeforces1051F The Shortest Statement
考场上并没有想到m-n<=20要怎么用,%rols无情考场AC一发上紫,看了rols代码后发现这个套路十分巧妙。先直接把n-1条边搞成一棵树,接下来最多有21条边空出来,最多连出新的42个点,那么我们吧这最多42个的点单独先取出来,然后根据连起来的边,先把dis[i][j]全部处理出来,直接跑floyed。然后对于每个询问,首先是树上的路径,然后再是通过这些点的路径,直接枚举经过的2个点i,...原创 2018-09-23 20:36:52 · 290 阅读 · 0 评论