随笔分类 - 分治法
摘要:整体二分主要是把所有询问放在一起二分答案,然后把操作也一起分治 当你发现多组询问可以离线的时候 当你发现询问可以二分答案而且check复杂度对于单组询问可以接受的时候 当你发现询问的操作都是一样的的时候 BZOJ3110 修改区间,查询区间第K大
阅读全文
摘要:一组n个巨人正与n个鬼进行战斗,每个巨人的武器是一个质子炮, 它可以把一串质子流射中鬼而把鬼消灭。 质子流沿直线行进,在击中鬼时就终止。巨人决定采取下述策略。他们寻找鬼配对,以形成n个巨人─鬼对,。 然后每个巨人同时向他选取的鬼射出一串质子流。我们知道,让质子流互相交叉是很危险的。 因此巨人选择的配
阅读全文
摘要:标题其实就是nth_element函数的底层实现 nth_element(first, nth, last, compare) 求[first, last]这个区间中第n大小的元素 如果参数加入了compare函数,就按compare函数的方式比较 array[first, last)元素区间,排序
阅读全文
摘要:解决这个问题,采用前缀和平扫的时间复杂度为O(n^2),本文分治法的时间复杂度为O(n*log*(n)) 前缀和平扫首先对n个数做前缀和,接下来利用前缀和枚举每一个区间即可 分治法的代码实现如下: 具体实现原理将在后续补充。
阅读全文
摘要:现给出这个定义,什么是逆序对,NOIP火柴排队这个题是逆序对的一个比较好的例题,这里我们只讨论求逆序对的一些高效的算法 一般有归并排序以及树状数组两种方法,本文只讨论归并排序求逆序对 这里不给出原理只给出实现,注意下面这一句 把这句话加在归并排序的合并过程中即可,下面给出实现代码: 关于归并排序的代
阅读全文

浙公网安备 33010602011771号