原文:浅谈几种筛法

杜教筛 问题一般是求 sum i n f i 这样的式子。 然后我们有一种很妙的想法,那就是构造两个积性函数 h,g ,使得 h f g 然后尝试推一下 h 的前缀和,发现: sum i n h i sum i n sum d i g d cdot f frac i d sum d n g d cdot sum i lfloor frac n d rfloor f i 如果记 S n sum i ...

2019-04-06 21:33 1 579 推荐指数:

查看详情

浅谈积性函数的线性筛法

前置知识 数论函数及相关基本定义 素数的线性筛 线性筛 线性筛可以在严格$O(n)$的时间内筛出积性函数的值, 它有常见的套路 假设$n = p_1^{a_1} p_2^{a_2} \do ...

Fri Jul 20 05:56:00 CST 2018 0 809
线性筛法(一)--素数筛法(一)

目录 筛法 筛法 所谓筛法是一种思想,就像名字一样,筛去多余的,筛去错误的。多数情况用数组标记,复杂度看起来很大,但代码跑起来确是越跑越快。 素数筛法 问题引入 把n以内素数全找出来(n<=100000) 大家一定想得到第一种方法,暴力 ...

Fri Sep 14 16:47:00 CST 2018 0 820
浅谈几种常见的剪枝方式

几种常见的剪枝方式 本篇随笔简单介绍一下信息学奥林匹克竞赛中搜索算法的一个重要分支:剪枝。剪枝是提高搜索算法时空效率,使得算法在优越性上大大优化的技巧。有的时候暴力搜索(也叫爆搜)过不了时限的算法,通过各种剪枝+优化之后就能成功通过。可见剪枝的重要性。无论是正解搜索算法还是想不到正解无奈之下选择 ...

Wed Oct 30 00:23:00 CST 2019 0 3126
素数与筛法

素数判别 1.O(x) [根本不用] 2.sqrt判别  O(√N) 如果x可以表示为两个因子相乘 x=a*b 假设a<=b 那么x>=a*a a<=√ ...

Sat Apr 06 03:53:00 CST 2019 0 590
线性筛法

线性筛法 Eratosthenes 筛法利用的原理是 任意整数 x 的倍数 2x,3x,... 等都不是质数 。 但是即便如此也会有重复标记的现象,例如12既会被2又会被3标记,在标记2的倍数时,\(12 = 6*2\),在标记3的倍数时,\(12 = 4*3\) ,根本原因是没有找到唯一 ...

Sun Oct 21 19:57:00 CST 2018 4 1531
素数筛法

之前在解释求素数的一道习题时,提过一个方法,叫素数筛法。下面就对这种方法的过程进行详细的解读。 之前提到 假设所有待判断的数字的上限是L,声明一个长度为L+1的布尔数组A[L+1]。用这个数组来表示对应下标的数字是不是素数。起初,将数组所有成员标记为1,然后按照某种方法将其中的非素数都标记 ...

Sun Sep 17 08:04:00 CST 2017 0 1513
素数筛法

  素数的筛法有很多种,但是基础就是对素数的判定。即,我们需要知道什么是素数,以及素数的一些性质,那么我们先讲一讲素数的性质(这一部分一定要好好掌握,对考试有很大的帮助):   定义:只有1和自身作为因子(就是因数,不用我再赘述了)的数叫做素数(也叫质数)。   性质(1):以π(x)表示 ...

Wed Apr 10 05:32:00 CST 2019 0 622
线性筛法

关于线性筛法 线性是指O(n)内筛掉所有合数,还有一种方法叫埃氏筛法,我先证明埃氏筛法效率低,也就是会有重复。 证明如下: 埃氏筛法的原理是找到一个素数后,它的1~n倍就会被筛掉,任何一个合数都可以被拆成一个质数*另一个数的形式,我们对每一个质数对应的可能的(合)数都枚举了,这就保证了所有 ...

Mon Aug 21 05:07:00 CST 2017 0 1324
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM