- 博客(8)
- 收藏
- 关注
原创 算法专项1:质数筛
本文介绍了质数筛算法在竞赛中的重要性,从基础试除法讲起,逐步深入讲解了埃拉托斯特尼筛法、欧拉筛和米勒-拉宾素性测试等算法。通过分析各算法的时间复杂度,并结合实际例题(如B2137、P5723、P3383等)展示了不同算法的适用场景和优化技巧。文章特别强调了埃筛的优化方法(如位压缩、模6定理)和欧拉筛的线性时间复杂度特性,同时指出米勒-拉宾测试在大数判断中的优势。最后通过代码示例比较了各算法的实际表现,为竞赛选手提供了实用的质数处理方案。
2025-10-12 22:26:33
690
原创 数论的基石——质数
本文系统介绍了质数的基本性质及其在数论中的核心地位。首先定义了质数与合数,证明了算术基本定理(唯一分解定理)的存在性与唯一性,阐述了质数作为自然数"基本单位"的重要性。随后详细讲解了最大公约数(GCD)和最小公倍数(LCM)的相关算法与性质,包括欧几里得算法、扩展欧几里得算法和贝祖定理的证明。文章还探讨了素数定理、贝特朗-切比雪夫定理等描述质数分布规律的重要定理,以及质数模6定理、费马小定理和威尔逊定理等经典结论。这些内容不仅展示了质数在数学中的基础性地位,也为后续算法研究奠定了理论基础
2025-10-05 16:59:15
875
原创 洛谷刷题计划6
这一期题单的名字是函数和结构体,但是在Java中并没有函数和结构体的定义,并且但从结构体来讲,C和C++也是不同的。首先,C/C++的函数、结构体分别对应Java中的方法和类。众所周知,Java的类中允许存在构造方法和成员方法,而在结构体中,C风格的结构体不允许存在函数,它只能是数据集合;C++风格的结构体内可以存在构造函数、析构函数、成员函数以及继承和多态。另外,在讲述风格上,大家有任何意见都可以在评论区里提出!
2025-10-02 16:43:50
862
原创 洛谷刷题计划5
有关字符和字符串的操作在竞赛中是经常用到的,特别是一些恶心的输入格式,不得不需要用字符串输入转整形或浮点型。而在项目操作中,字符串的作用反而更小。
2025-09-21 20:31:46
698
原创 洛谷刷题计划4
紧急加更,我的题解发布速度已经掉队啦!十分正常的数组加比大小的题目。当然,你可以用一个数组装输入数据,一边循环一边输出,也可以和我一样用双数组,在循环判断结束之后再输出(都是几年前自己做题时的代码了,有时确实很智障)。P1427 小鱼的数字游戏既然你已经会回文数拆数这种高级算法,想必倒着输出一个数组也不在话下吧。值得一提的是,由于输入以0作为结束标记,我们其实是不知到循环次数的,因此可以使用do_while(num[i]!=0)进行循环。其中do是为了让程序先跑一次进行输入,结束条件即为输入
2025-09-18 20:56:33
970
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1