10 2016 档案

摘要:对于区间问题,我们常用的方法是线段树。递归式的线段树具有通用性,但速度太慢。ZKW神犇使用非递归的线段树,常数特别小。 与大部分线段树一样,ZKW线段树采用堆式存储。也就是说,x节点的左儿子是x*2,右儿子是x*2+1,父亲是x/2。 由于采用非递归,我们要方便地找到叶子节点。ZKW线段树的方法是, 阅读全文
posted @ 2016-10-18 20:13 张瑯小强 阅读(209) 评论(0) 推荐(0)
摘要:扩展欧几里得算法是:已知整数a, b,找出一对整数(x, y)使得ax+by=gcd(a, b)。 上面代码计算出了(a, b)的最大公因数并以参数d返回。 直线上的点。求有多少对整数(x, y)满足ax+by+c=0且x∈[x0, x1],y∈[y0, y1]。 首先移项得ax+by=-c。求ax 阅读全文
posted @ 2016-10-12 16:55 张瑯小强 阅读(154) 评论(0) 推荐(0)
摘要:1 template 2 T_D pow(T_D a, T_U b){ 3 T_D ans = 1, base = a; 4 while(b){ 5 if(b % 2 == 1){ 6 ans *= base; 7 } 8 base *= base; 9 b /= 2; 10... 阅读全文
posted @ 2016-10-11 20:08 张瑯小强 阅读(111) 评论(0) 推荐(0)
摘要:当我要计算两个数相乘后取模的结果时,可以这样写: 这样可以防止中间过程溢出,但速度可能不是辣么快。 要注意的是,得保证a、b都小于mo。如果不能保证,请先a%=mo, b%=mo; 阅读全文
posted @ 2016-10-11 19:32 张瑯小强 阅读(2273) 评论(0) 推荐(0)