摘要: 首先将棋盘黑白染色,不妨令空格处为黑色。那么移动奇数次后空格一定处于白色格子,偶数次后空格一定处于黑色格子。所以若有某个格子的棋子颜色与棋盘颜色不同,这个棋子就是没有用的。并且空格与某棋子交换后,棋子所在的格子改变使得该棋子与棋盘颜色不同,那么该棋子也会变为无用棋子。那么问题变为空格在棋盘上黑白格子 阅读全文
posted @ 2018-11-06 17:42 Gloid 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 带权并查集按秩合并即可维护。 阅读全文
posted @ 2018-11-06 13:39 Gloid 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 显然可以用LCT维护kruskal重构树。或者启发式合并维护kruskal重构树的倍增数组虽然多了个log也不一定比LCT慢吧。 当然这里的kruskal重构树几乎只是把树上的边权换成了点权,并不重要。 我们要查询的是树上两点间路径边权最大值。显然要并查集按秩合并一波。然后……并查集的树高就是log 阅读全文
posted @ 2018-11-06 12:49 Gloid 阅读(134) 评论(0) 推荐(0) 编辑