随笔分类 -  分治

摘要:如何一个序列内查找出一个我们要的数呢? 若序列无序,我们可以选择Hash,但这不是我们要讲的重点 当序列有序时,我们可以选择一次查询时间为lg(n)的二分算法 考虑一段有序的区间内,我们取出这个区间内的中心元素,判断其是否为我们想要的那个数, 如果这个数比当前的中心元素小,说明我们要找的数一定在区间 阅读全文
posted @ 2018-10-22 07:40 by_wang 阅读(92) 评论(0) 推荐(0)
摘要:线段树常常用于求解某些区间上的问题,它通过区间标记和分治思想,可以较快的处理区间问题,在理解线段树前,我们先理解一种较为简单的思想——分块 分块: 顾名思义,将要处理的区间分成块,一般一个块的大小为sqrt(n), 例如,我们要对某个区间做加法,之后查询一段的值,显然我们对于每个块用一个区间标记来表 阅读全文
posted @ 2018-10-19 14:32 by_wang 阅读(165) 评论(0) 推荐(0)
摘要:(我貌似不会写二进制拆分的快速幂。。。。) 对于求解a^b mod p,我们的暴力手段是模拟,将b个a一个一个乘上去再取模 时间显然是O(b),当b有几千万,乃至几亿时,我们发现这显然会超时 思考有没有优化的空间呢 我们发现求解a^b mod p 等价于下面的问题: (a^2) ^ (b/2) mo 阅读全文
posted @ 2018-09-13 14:29 by_wang 阅读(857) 评论(0) 推荐(0)

Live2D