洛谷P4526 模板 自適應辛普森法2

2022-05-31 15:15:08 字數 1150 閱讀 1674

洛谷傳送門

計算積分

保留至小數點後5位。若積分發散,請輸出"orz"。

一行,包含乙個實數,為a的值

一行,積分值或orz

輸入 #1複製

2.33
輸出 #1複製

1.51068
a<=50

請注意時空限制。

這和辛普森公式又啥關係?上限可是正無窮!

帶著好奇心,我開啟了幾何畫板。

這……這麼快就收斂了?!?!?!

看看a=50?

隨便把b放在3邊上。結果……反正是有限的,有限的就好。

貌似在x=10附近,這玩意就收斂的可憐了……

把b靠近原點,再把a調為-1。

不能想,要是b的橫座標為0會發生什麼……貌似直接不顯示b點了……

幾何畫板——自保系統?

從這裡就可以得到:

a<0時函式發散

a>0時函式收斂於20左右(確保誤差盡量小,建議稍大一點)

#include#include

#include

#define il inline

#define re register

using

namespace

std;

const

double eps=1e-12

;double

a;il

double f(double

x)il

double simpson(double l,double

r)double integral(double l,double

r)int

main()

保留5位小數

洛谷P4525 模板 自適應辛普森法1

傳送門 我似乎連積分都不太熟練 總之就是對於乙個原函式,我們找乙個二次函式來近似它,那麼有 begin int a bf x dx frac b 3 a 3 frac b 2 a 2 c a b frac 2a b 2 ab a 2 3b b a 6c frac 2ab 2 2aab 2aa 2 3...

Luogu4525 模板 自適應辛普森法1

題面 洛谷 講一講這東西吧。自適應辛普森法的原理就是用二次函式來擬合所給函式,然後計算二次函式的積分得到近似答案,這裡首先給出二次函式的積分公式 也就是所謂的辛普森公式 並證明。int f x x int ax 2 bx c x fracr 3 fracr 2 cr fracl 3 fracl 2 ...

luogu P4525 模板 自適應辛普森法 1

題面傳送門 眾所周知,定積分可以推公式求。但是如果我們推不出來不想推怎麼辦呢?作為oi競賽肯定不會讓你寫個什麼輸出根號之類的,肯定會有絕對誤差或相對誤差不大於多少多少。那麼我們就可以用自適應辛普森法。就是二次函式擬合,沒別的。但是如果乙個亂七八糟的函式直接二次函式擬合會很奇怪的東西出來。所以我們採用...