题解 P4525 【【模板】自适应辛普森法1】

· · 题解

我表示我是来砸场子的

纯数学推导

\int_L^R\frac{cx+d}{ax+b}dx (\frac{cx}{a}+(\frac{d}{a}-\frac{bc}{a^2})*\ln|ax + b|)|^R_L

特判0

code

#include<bits/stdc++.h>
#define eps 1e-8
double a, b, c, d, l, r;
double f(double x)
{
    return c * x / a + (d / a - b * c / (a * a)) * log(a * x + b);
}
double f2(double x)
{
    cout << "o";
    return ((c * x * x) / (2 * b) + (d * x) / b);
}
using namespace std;
int main()
{
    scanf("%lf%lf%lf%lf%lf%lf", &a, &b, &c, &d, &l, &r);
    if(abs(a) == 0)
        printf("%.6lf", f2(r) - f2(l));
    else printf("%.6lf", f(r) - f(l));
    return 0;
}