随笔分类 -  数据结构—分块

摘要:4537: [Hnoi2016]最小公倍数 链接 题意: 一张无向图,每条边有两个权值(a,b),多次询问是否存在一条从x到y的路径,使得路径上的最大值a和最大的b是给定的,路径可以不是简单路径。 分析: 考虑一次询问如何做,可以将所有小于等于a并且小于等b的边加入,并查集维护每个联通块的最大的a和 阅读全文
posted @ 2019-03-05 09:02 MJT12044 阅读(201) 评论(0) 推荐(0)
摘要:4320: ShangHai2006 Homework 链接 分析: 分块。对权值模数进行分块,模数小于$\sqrt V$的($V$为权值上界),暴力处理。 模数大于$\sqrt V$的,设模数是k,枚举k的倍数,然后查询大于[k,2k]之间的最小的数x,这个区间的mod k最小的数就是x-k。k的 阅读全文
posted @ 2019-01-20 15:01 MJT12044 阅读(164) 评论(0) 推荐(0)
摘要:3809: Gty的二逼妹子序列 链接 分析: 和这道AHOI2013 作业差不多。权值是1~n的,所以对权值进行分块。$O(1)$修改,$O(\sqrt n)$查询。 代码: 阅读全文
posted @ 2018-12-13 14:28 MJT12044 阅读(210) 评论(0) 推荐(0)
摘要:#1513 : 小Hi的烦恼 #1513 : 小Hi的烦恼 https://hihocoder.com/problemset/problem/1513 分析: bitset,五维数点问题。 记录每一科的第i名前面有那些人,最后&起来就行了。 代码; 复杂度$O(k n^2/64)$,k为维数。 分块 阅读全文
posted @ 2018-10-09 14:29 MJT12044 阅读(276) 评论(2) 推荐(0)
摘要:算法就是将n个数序列分成块k块,每次操作时可以一次操作一块,不需要暴力挨个操作,这是分块的主要思想。 修改时,可以给每个块设置一个加法标记(就是记录这个块中元素加了多少),每次操作对每个整块直接标记,而不完整的块由于元素比较少,可以暴力修改元素的值。 查询时,何求该差不多,在块上的元素直接乘上,不完 阅读全文
posted @ 2017-05-10 16:05 MJT12044 阅读(773) 评论(0) 推荐(2)