05 2015 档案

摘要:我们都知道区间更新时候有个lazy 标志。而这个lazy 标志 我们要使得其可以理论重叠。即使操作不能重叠。也尽可能让其重叠。比如:一道修改区间>x的值为gcd(x,val)的操作题。首先针对查找区间>x 这种查找。我们在节点上存储 区间最大值 作为剪枝。另外针对求gcd(x,val)操作。用向量存... 阅读全文
posted @ 2015-05-26 19:02 Milkor 阅读(529) 评论(0) 推荐(0)
摘要:考虑一下逆序数的定义:{ 2, 4, 3, 1 }分别是(2,1), (4,3), (4,1), (3,1)也就是说针对一个数。判断在这个序列中这个数位置后面的数有多少个比它小。也就是说针对一个数。判断在这个序列中这个数位置之前有多少个数比它大。那就是询问当前数~n 区间上的出现了多少个数。 (由于... 阅读全文
posted @ 2015-05-22 15:56 Milkor 阅读(311) 评论(0) 推荐(0)
摘要:int ex_gcd(int a,int b,int &x,int &y) { int t,d; if(b==0) { x=1; y=0; return a; } d=ex_gcd(b,a%b,x,y); t=x; x=y; y=t-(a/b)*y; return d; } /* 处理的只是NN'+ 阅读全文
posted @ 2015-05-17 12:22 Milkor 阅读(302) 评论(0) 推荐(0)
摘要:2.8找符合条件的整数问题描述:给定一个正整数N,求一个最小正整数M(M>1),使得N*M的十进制表示形式里只含有1和0.最直接了当的方法。当然就是对M无限穷举下去。书上提供了一个逆向考虑的方法。其实重点是思想。我们可以穷举N*M。即由1和0构成的串。相比穷举M而言。N*M的数量级小得多了多!。而且... 阅读全文
posted @ 2015-05-15 20:38 Milkor 阅读(190) 评论(0) 推荐(0)
摘要:注意这里讲的是斯特林数而非斯特林公式。斯特林数分两类:第一类斯特林数 和 第二类斯特林数。 分别记为。首先描述第二类斯特林数。描述为:将一个有n件物品的集合划分成k个非空子集的方法数。比如集合{1,2,3,4}有以下划分:{1,2,3}U{4} {1,2,4}U{3} {1,3,4}U{2} {2,... 阅读全文
posted @ 2015-05-11 20:01 Milkor 阅读(461) 评论(0) 推荐(0)
摘要:主要原理:算术基本定理对一个数n进行唯一分解。有一下式子:那么约数的个数就是:(1+a1)*(1+a2)*(1+a3)*(1+a4)*(1+a5)*(1+a6)...*(1+ak).那么约数和就是:这个式子的求解。可以根据等比求和公式来化简计算这个式子往往利用快速幂加计算逆元。具体不介绍。而获得其各... 阅读全文
posted @ 2015-05-06 21:44 Milkor 阅读(838) 评论(0) 推荐(0)
摘要:一开始看 这里 这个文章博主写得很好。当举容斥定理的所谓 奇数为负 偶数为正的时候。我直接就认为是 a*b 了。实际上是lcm(a,b)。由于博文中的因子都是互素的(素数之间)。所以lcm(a,b) = a*b。用队列数组做的。比较简单干净点。原理就不解释了吧。容斥定理。可以看相关论文。#inclu... 阅读全文
posted @ 2015-05-06 20:03 Milkor 阅读(177) 评论(0) 推荐(0)
摘要:先拜大牛。感谢贾志鹏严谨的思维。以及简单清晰的论文描述。 一定要结合论文看。我只是提出我觉得关键的部分。论文在网上随处可见。贾志鹏线性筛。 开头两种线性筛的比较。 一种是传统的线性筛。时间复杂度为N*log(log(N))。 另外一种是优化了合数的筛法。文中称作Euler线性筛。 其优化的地方。 举 阅读全文
posted @ 2015-05-04 21:02 Milkor 阅读(6495) 评论(15) 推荐(8)
摘要:欧拉函数:φ(n)表示1~n中和n互素的数目要处理出欧拉函数。先证明φ(p)=p-1.(p为素数)根据互素的概念。两个数的公约数只有1,那么这两个数互素。再根据素数的定义。公约数除了本身以外只有1的数为素数。所以得证φ(p) = p-1.再证明欧拉函数为不完全积性函数。φ(m1*m2) =φ(m1)... 阅读全文
posted @ 2015-05-02 03:02 Milkor 阅读(625) 评论(0) 推荐(0)