数值算法

本题单主要针对部分数值类型算法(在 OI 中并不常见)。另外,本题单不包含计算几何。

upd at 2024.8.16

求根

求根(即函数零点)有两种方法:二分和牛顿迭代。

二分首先需要有一个区间 (x_1,x_2),根存在的充要条件是函数连续且 f(x_1)f(x_2)<0

牛顿迭代只需要按照 x\leftarrow x-\frac{f(x)}{f'(x)},得到零点后进行多项式除法即可。

积分

求积分有两种方法:通过带入反函数直接计算,或使用自适应辛普森法进行近似计算。

反函数法,直接使用牛顿-莱布尼茨公式进行计算:

\int_a^bf(x)\mathrm dx=F(b)-F(a)

自适应辛普森法,可以这样描述:一个函数,在一个极小的区间内可以近似作为一条抛物线进行计算。有以下结论

\int_l^rf(x)\mathrm dx\approx\frac{r-l}{6}\left[f(l)+4f\left(\frac{l+r}4\right)+f(r)\right]

设这个解为 S(l,r),我们可以估计精确值。

这样,我们可以通过首先求 S(l,r),以及 S(l,\frac{l+r}2)S(\frac{l+r}2,r),把后两个加起来,若减去最前面的差小于 \epsilon,我们就可以停止迭代。

先放这些。剩下的东西先留着。


  1. P1024 - [NOIP 2001 提高组] 一元三次方程求解
  2. UVA10428 - The Roots
  3. UVA10341 - Solve It
  4. P4525 - 【模板】自适应辛普森法 1
  5. P4526 - 【模板】自适应辛普森法 2
  6. UVA1524 - Hot or Cold?
  7. UVA1356 - Bridge
  8. UVA12490 - Integral
  9. UVA12565 - 可爱的魔法曲线 Lovely Magical Curves
  10. UVA731 - Numerical Summation of a Series
  11. UVA10736 - Series of PI
  12. UVA918 - ASCII Mandelbrot
  13. UVA12528 - Environment Protection
  14. P3945 - 三体问题
  15. UVA1115 - Water Shortage
  16. UVA10509 - R U Kidding Mr. Feynman?