摘要: 题意 题解 之前一直以为prim堆优化之后复杂度是O(nlogn)...YY了一发之后不出所料的60pts TLE了qwq(实际上是O(n+m)logn) 算法复杂度高的原因建了很多不必要的边 对于每一维空间,只有相邻的两个点才会建边,所以总边数=n*3 再跑kruskal或者prim都可以了 关键 阅读全文
posted @ 2021-09-07 12:49 conprour 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 题意 题解 这题我一开始根本没有思路....因为觉得 s , g 两个量会互相影响,没法做最小生成树(其实也是因为没认真看数据范围) 先想暴力: 多个变量可以“定一移一”,就是枚举其中一个的最大值,然后讨论另一个变量(在这里“讨论”就是做最小生成树) 考虑把 g 从小到大排序,每次对小于当前 max 阅读全文
posted @ 2021-09-07 11:55 conprour 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 题意 题解 这题不是特别难,但是有思维陷阱 题里不断给出各种祖先差异程度的计算方法(其实就是树上距离的求法),不禁让我想着根据 Da+Db=Dc这种形式来判断祖先关系,然后就没有然后了 实际上,不用管加和判断这些东西,因为每次加入最小生成树的都是直系边(因为直系边最短),而当加完直系边之后由于端点都 阅读全文
posted @ 2021-09-07 11:45 conprour 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 题意 题解 由于奇偶性这种性质比较简单,所以可以考虑一下不同区间的选择对于破解序列有什么影响 很显然,如果 每一个点的前缀和都已知,那么相减即可得出每一个单点的值 而每一个区间 [ L , R ] 可以转化成 sum[R]-sum[L-1] 每一个前缀和已知,就相当于 n 个点的 sum 值都要知道 阅读全文
posted @ 2021-09-07 11:31 conprour 阅读(56) 评论(0) 推荐(0) 编辑