随笔分类 -  数据结构

摘要:传送门 题解:由唯一分解可以知道每个数都能表示成素数的乘积,因此我们只要判断[l,r]区间内是否出现过d分解成素数后各个素数的次数。用主席树维护之前l-1版本的数,和r版本的树,前后做差就能判断是否满足要求。 阅读全文
posted @ 2018-05-28 17:31 采蘑菇的小西佬 阅读(392) 评论(0) 推荐(0)
摘要:传送门 题意:给你一个函数f[x],问你是否存在满足 g(h(x)) = x for all , and h(g(x)) = f(x) for all , 的两个函数 题解:先化简公式得到一个构造g(x)的公式,g(x)=g(f(x)),并查集将x和f(x)捆绑起来,然后for一遍g(x)这个函数, 阅读全文
posted @ 2018-05-28 10:34 采蘑菇的小西佬 阅读(161) 评论(0) 推荐(0)
摘要:传送门 题意:给你一棵树,询问u到v路径上的第k大 题解:从u到v的路径能想到,u到根+v到根-lca(u,v)到根-fa[lca(u,v)]到根剩下的就是u到v之间的路径。因此只要离散化一下,每次dfs的时候处理倍增lca和主席树更新操作就可以 阅读全文
posted @ 2018-05-27 22:38 采蘑菇的小西佬 阅读(125) 评论(0) 推荐(0)
摘要:题意:离线询问[l,r]区间第k大 题解:模版题,入门题 阅读全文
posted @ 2018-05-27 21:49 采蘑菇的小西佬 阅读(122) 评论(0) 推荐(0)
摘要:题意:多次询问区间内 两数差的绝对值的最小值 题解:离线询问则可以按照询问的l排序,倒着询问,倒着从r更新到l 每次更新i+1到n这个区间,保证这次的更新不会影响到下一次以及以后的更新。因为当两个区间出现覆盖时,l更小的那个区间的值一定小于等于另一个,画个图就可以明白。 阅读全文
posted @ 2018-05-27 21:46 采蘑菇的小西佬 阅读(162) 评论(0) 推荐(0)