首页 > TAG信息列表 > xay

xay loves trees(树剖)

题目链接 题目大意   给你两棵以1为根的树,让你选一个集合,这个集合中的点在第一棵树中互为父子关系,且是连通的,在第二棵树中互相都不是父子关系。 解题思路1   对于第一棵树,很明显集合中的元素在其中是一条链中的一个子段。我们在dfs第一棵树的时候,考虑从根节点1到当前节点u的一

2021牛客多校7 F、xay loves trees

提供一种轻重链剖分+dp的做法 先把2树的lca预处理好,用下面这个方式查询可以省去上跳的时间(直接欧拉序也行,不过比赛的时候能想到欧拉序我就不会写dp了QAQ): int lca(int u, int v) { if (d[u] > d[v])swap(u, v);//默认v的深度较大 while (d[v] > d[u]) v = f[lg[d[v

2021牛客暑期多校7-xay loves floyd

题意是如果把floyd算法的k循环写在了最内层,有多少dis[i][j]还是正确的。n是顶点数,m是单向边数,n<=2000,m<=5000。 dis[i][j]是i到j的最短路长度,w[i][j]是i到j的边权。 注意到m只有5000,图不是很稠密,可以做n次Dijkstra得到dis数组,这部分复杂度是O(nmlogm)。 1.如果dis[i][j]==w[i][j]

2021牛客多校 第七场 F xay loves trees (线段树+括号化序列

题意:给定两个树,求一个最大的点集,使得第一棵树上成一条链并且第二课树上不互为祖先 思路:赛场上不知道括号化序列这个知识点,所以想不到什么好办法能快速处理互为祖先这件事。赛后B站看了题解学会的 括号化序列:根据一棵树的dfs序,将其入栈与出栈的时间戳记录下来, 可以发现,每一棵子树的

牛客多校7.H.xay loves count 思维