摘要: 【题目描述】 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一 阅读全文
posted @ 2017-05-19 21:00 自为风月马前卒 阅读(247) 评论(5) 推荐(0) 编辑
摘要: 给出一个长为n的数列,以及n个操作,操作涉及区间加法,区间求和。 这题的询问变成了区间上的询问,不完整的块还是暴力;而要想快速统计完整块的答案,需要维护每个块的元素和,先要预处理一下。 考虑区间修改操作,不完整的块直接改,顺便更新块的元素和;完整的块类似之前标记的做法,直接根据块的元素和所加的值计算 阅读全文
posted @ 2017-05-19 17:10 自为风月马前卒 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 给出一个长为n的数列,以及n个操作,操作涉及区间加法,单点查值。 这是一道能用许多数据结构优化的经典题,可以用于不同数据结构训练。 数列分块就是把数列中每m个元素打包起来,达到优化算法的目的。 以此题为例,如果我们把每m个元素分为一块,共有n/m块,每次区间加的操作会涉及O(n/m)个整块,以及区间 阅读全文
posted @ 2017-05-19 16:38 自为风月马前卒 阅读(325) 评论(0) 推荐(1) 编辑
摘要: 分块:顾名思义,把一个区间分成不同的块,然后由原来的每个点暴力转换为每个块的暴力,这样就大大减小了时间复杂度 可能涉及的几个词语解释: 区间:数列中连续一段的元素 区间操作:将某个区间[a,b]的所有元素进行某种改动的操作 块:我们将数列划分成若干个不相交的区间,每个区间称为一个块 整块:在一个区间 阅读全文
posted @ 2017-05-19 16:35 自为风月马前卒 阅读(283) 评论(0) 推荐(0) 编辑
摘要: Discrete Logging Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5865 Accepted: 2618 Description Given a prime P, 2 <= P < 231, an integer 阅读全文
posted @ 2017-05-19 16:09 自为风月马前卒 阅读(463) 评论(0) 推荐(0) 编辑

Contact with me