上一页 1 ··· 3 4 5 6 7
摘要: pollard-rho是对大数分解质因数的算法 先要米勒罗宾判下素数 主要思想是选取随机数,随机数生成是只与前一个随机数有关的。 这样因为生日悖论,选取重复导致出现循环的期望是根号n的 选取随机数 ri 计算ai = ri mod n 这时我们假定有 n1 | n ,bi = ai mod n1 当 阅读全文
posted @ 2016-10-03 00:08 ihopenot 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 竟然会想去用随机艹这道题。。。太年轻 实际上两个点与坐标列一个方程,高斯消元解这n个方程组就好了。 讲道理随机也可以过的吧? 主要是不好找一个单调的状态来退火或者爬山 因为超出圆范围外无限远处到所有点距离也相等,但并不是圆心。 大概可以先用到所有点距离和来爬一下山,最终点就肯定在圆里,在小步小步的爬 阅读全文
posted @ 2016-09-30 09:41 ihopenot 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 在Splay上打反转标记 自己脑补了一下,感觉就是在旋转的时候传递一下标记免得被破坏就可以了。 具体交换左右儿子然后标记下传。 代码: 阅读全文
posted @ 2016-09-29 14:30 ihopenot 阅读(177) 评论(0) 推荐(0) 编辑
摘要: Treap太生硬了,还是Splay妖艳。 肆意乱扭 代码。。: 阅读全文
posted @ 2016-09-29 09:53 ihopenot 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 要使一个连续区间内的高度相同改变量最小,想想其实就是直线上很多点,选一个到所有点距离和最小的位置这种 平衡树维护一发中位数即可 对于花费是可以由上一个区间的花费计算过来的 只用比较一下前一次中位数和这一次中位数谁大,然后各自加加减减。例如2 3 3 5 2 4 ,找长度为3的区间,假设我们找到了3 阅读全文
posted @ 2016-09-29 07:58 ihopenot 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 主要由两部分组成,一个图和一颗trie树 图上从根出发的每一条路径代表了原图的一个子串,树是原串子串的倒序形成的字典树 关于构造是用的增量构造 考虑已经建好了一个后缀自动机,如果在字符串末尾增加一个字符,会对自动机有什么影响 首先全字符串肯定是第一次出现,所以要从前一个添加的字符处向当前字符连边,构 阅读全文
posted @ 2016-09-28 16:28 ihopenot 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 平衡树练习 每次插入一个数判断是否重复,重复则返回0,否则选出与它差最小的数返回差的绝对值 最小差必定是左子树中最大点或右子树中最小点或其祖先,找找就可以了 代码: 阅读全文
posted @ 2016-09-28 12:13 ihopenot 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 平衡树练习 还是很水的一道题(雾 反正字符串哈希一下会方便很多,其它都是常规操作也没什么好说的 平衡树写得挺繁杂的,以后可能去想想精简一点的版本,写是难写,但这种题一般写出来了就不会错(说完就PE了。。 代码: 阅读全文
posted @ 2016-09-28 11:18 ihopenot 阅读(174) 评论(0) 推荐(0) 编辑
摘要: treap乱搞一下 对于工资的加减不直接修改的点的值或打标记,而是维护一个外围的delta,这样维护也很方便 剩下删除和插入都是基本操作了 另: linux下rand()的返回值是1-2^31-1,虽然感觉没什么关系,交上去就会被卡T掉。。。取个模就过了 代码: 阅读全文
posted @ 2016-09-28 08:53 ihopenot 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 把每一个妖怪看出平面上的一个点(x,y),场地参数k=-a/b; 那么每个妖怪的战斗力即为过点(x,y)斜率为k的直线与坐标轴的交点的和 稍微画下图可以看出如果是最大战力的妖怪一定是在所有点所形成的右上凸包上 维护一个凸包,枚举凸包每一个点是最强妖怪时的最弱战力 要使一个点所形成的是最强战力,那么有 阅读全文
posted @ 2016-09-26 22:06 ihopenot 阅读(365) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7