交作业了
Fido_Puppy
·
·
个人记录
P4525 【模板】自适应辛普森法 1
计算 \displaystyle\int_L^R\dfrac{cx + d}{ax + b}\mathrm{d}x,保证能积。
一、a \ne 0
考虑分部积分法则,设 u(x) = cx + d, v'(x) = \dfrac{1}{ax + b},则 u'(x) = c, v(x) = \dfrac{\ln(ax + b)}{a}。
\int u(x)v'(x)\mathrm{d}x = u(x)v(x) - \int u'(x)v(x)\mathrm{d}x
= \dfrac{(cx + d)\ln(ax + b)}{a} - \int \dfrac{c\ln(ax + b)}{a} \mathrm{d}x
= \dfrac{(cx + d)\ln(ax + b)}{a} - \dfrac{c}{a ^ 2} \int \ln(ax + b) \mathrm{d}(ax + b)
问题转化为求 \displaystyle\int \ln(x) \mathrm{d}x。
再次考虑分部积分法则:
\int \ln(x)\mathrm{dx} = x\ln(x) - \int \dfrac{x}{x} \mathrm{dx} = x \ln(x) - x
于是原式等于:
= \dfrac{(cx + d)\ln(ax + b)}{a} - \dfrac{c}{a ^ 2} [(ax + b)\ln(ax + b) - (ax + b)]
设 F(x) = \dfrac{(cx + d)\ln(ax + b)}{a} - \dfrac{c}{a ^ 2} [(ax + b)\ln(ax + b) - (ax + b)],所求即为 F(R) - F(L)。
但是由于 ax + b 可能是负的,所以 \ln(ax + b) 就爆了。
因为得保证 ax + b 不为 0,所以 \forall x \in [L, R],ax + b 恒正或恒负。
恒正时正常做,恒负时将 a, b, c, d 取反即可。
二、a = 0
直接积即可:
\int \dfrac{cx + d}{b}\mathrm{d}x = \dfrac{cx ^ 2}{2} + dx
设 F(x) = \dfrac{cx ^ 2}{2} + dx,所求即为 F(R) - F(L)。