社区讨论

萌妹子刚学OI,A+B只有40分QAQ

P1001A+B Problem参与者 17已保存回复 36

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
36 条
当前快照
1 份
快照标识符
@mi7pqy29
此快照首次捕获于
2025/11/21 01:36
4 个月前
此快照最后确认于
2025/11/21 01:58
4 个月前
查看原帖
求助QAQ
CPP
#include<cstdio>
#include<cmath>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
#include<bitset>
using namespace std;

double f(double x){
    return x*x;
}

inline double simpson(double l,double r){
    double mid = (l+r)/2;
    return (r-l)*(f(l)+4*f(mid)+f(r))/6;
}

double integral(double l,double r,double eps){
    double mid = (l+r)/2;
    double sl,sr,st;
    sl = simpson(l,mid);
    sr = simpson(mid,r);
    st = simpson(l,r);
    if(fabs(sl+sr-st)<=15*eps) return sl+sr+(sl+sr-st)*15;
    return integral(l,mid,eps/2)+integral(mid,r,eps/2);
}

int main(){
    double a,b,ans;
    scanf("%lf%lf",&a,&b);
    if(a>0) a = pow(3*a,0.33333333);
    else a = -pow(-3*a,0.33333333);
    if(b>0) b = pow(3*b,0.33333333);
    else b = -pow(-3*b,0.33333333);
    ans = integral(0,a,1e-7)+integral(0,b,1e-7);
    printf("%.0lf",ans);
    return 0;
}

回复

36 条回复,欢迎继续交流。

正在加载回复...