【欧拉计划】5. Smallest multiple

(本题取 $n=20$)

【思路】本题只需求 $1 \sim 20$ 的最小公倍数即可。

而 $\text{lcm}(a,b)=\dfrac{ab}{\gcd(a,b)}$,因此问题转化成了求 $\gcd$(为了防止爆 int 可以先除后乘或者直接开 long long)。时间复杂度为 $\mathcal O(\log n)$:

阅读更多

【欧拉计划】4. Largest palindrome product

(本题取 $d=10$,$n=1000-100=900$)

【思路】显然满足要求的最大回文数一定为六位数。因此我们只需要三重循环枚举前三位,然后通过回文数性质得到后三位,从而得到一个六位数。最后枚举是否能表示成两个三位数乘积即可。时间复杂度为 $\mathcal O(d^3n)$:

阅读更多

【欧拉计划】3. Largest prime factor

(本题取 $n=600851475143$)

【思路】在区间 $[2,n]$ 内倒序枚举 $n$ 的所有质因数,输出第一个遍历到的。时空复杂度分别为 $\mathcal O(n \sqrt n)$,$\mathcal O(1)$。

【优化 $1$】在原思路的基础上使用埃氏筛,时间复杂度优化为 $\mathcal O(n \ln \ln n+n)$;使用欧拉筛可优化为 $\mathcal O(n)$。

【优化 $2$】在原思路的基础上将区间缩小为 $[2,\sqrt n]$,时间复杂度优化为 $\mathcal O(n)$。

【优化 $3$】结合优化 $1,2$,时间复杂度可进一步优化至 $\mathcal O(\sqrt n)$(后面研究质数时不再提及质数判断法或埃氏筛,一律只保留欧拉筛)。

【优化 $4$】在【优化 $3$】的基础上,将循环改为正序。这样能减小时间复杂度的常数,同时将空间复杂度降为 $\mathcal O(1)$:

阅读更多

【欧拉计划】2. Even Fibonacci numbers

(本题取 $n=\lfloor \text{fib}^{-1}(4000000) \rfloor=33$)

【思路】运用斐波那契数列递推公式 $a_i=a_{i-1}+a_{i-2}$ 进行递推,超过 $4000000$ 就中断。最后统计其中偶数的和即可。时空复杂度均为 $\mathcal O(n)$。

【优化 $1$】采用滚动变量,将空间复杂度优化到 $\mathcal O(1)$:

阅读更多

Blog Navigator

信息竞赛

随笔札记

OI 2021:退役总结

题解区

更多题解可前往洛谷博客处查看。

P6851 题解
P7806 题解
P7913 题解
P7960 题解

远古拙作大赏

P6474 题解
P1928 题解

化学笔记

1 原子的构造原理

1.1 原子轨道
1.2 能级交错
练习与任务
题解

2 元素周期律

2.1 元素周期表
2.2 元素周期律

Project Euler

目前已完成 $1 \sim 52$ 题,整理在此处。其中 $1 \sim 50$ 题的相关文章不再显示在博客主页上。

数学精选题目整理

原子参数

原子的参数包括:

  • 原子半径
  • 电离能:气态原子或离子失去电子所需吸收的能量。
  • 电子亲和能:气态原子或离子得到电子所需放出的能量。
  • 电负性:在一个分子中,一个原子将电子吸引到它自身的能力(得失电子能力 / 氧化或还原能力)。其中电离能和电子亲和能综合起来可以决定电负性。
阅读更多

元素周期表

我们不妨先根据构造原理写出每一能层的电子数:

$1 \text s$ $2 \text s$|$2 \text p$ $3 \text s$|$3 \text p$ $4 \text s$|$3 \text d$|$4 \text p$ $5 \text s$|$4 \text d$|$5 \text p$ $\cdots$
$2$ $2$|$6$ $2$|$6$ $2$|$10$|$6$ $\cdots$ $\cdots$
$2$ $4$|$10$ $12$|$18$ $20$|$30$|$36$ $54$ $\cdots$
$\text{He}$ $\text{Ne}$ $\text{Ar}$ $\text{Kr}$ $\text{Xe}$ $\text{Rn}$
阅读更多