• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            心如止水
            Je n'ai pas le temps
            posts - 400,comments - 130,trackbacks - 0
            題目意思很簡單,求拋物線和直線圍成的區域的面積。
            積分大牛都是0msAC的……不怎么會積分,于是直接龍貝格定積分求值。
            以下是我的代碼:
            /*
             * Author:  lee1r
             * Created Time:  2011/8/23 18:19:49
             * File Name: hdu1071.cpp
             
            */
            #include
            <iostream>
            #include
            <sstream>
            #include
            <fstream>
            #include
            <vector>
            #include
            <list>
            #include
            <deque>
            #include
            <queue>
            #include
            <stack>
            #include
            <map>
            #include
            <set>
            #include
            <bitset>
            #include
            <algorithm>
            #include
            <cstdio>
            #include
            <cstdlib>
            #include
            <cstring>
            #include
            <cctype>
            #include
            <cmath>
            #include
            <ctime>
            #define L(x) ((x)<<1)
            #define R(x) ((x)<<1|1)
            #define Half(x) ((x)>>1)
            #define Lowbit(x) ((x)&(-(x)))
            using namespace std;
            const int kInf(0x7f7f7f7f);
            const double kEps(1e-8);
            typedef unsigned 
            int uint;
            typedef 
            long long int64;
            typedef unsigned 
            long long uint64;

            bool scanf(int &num)
            {
                
            char in;
                
            while((in=getchar())!=EOF && (in>'9' || in<'0'));
                
            if(in==EOF) return false;
                num
            =in-'0';
                
            while(in=getchar(),in>='0' && in<='9') num*=10,num+=in-'0';
                
            return true;
            }

            double A,B,C;

            double f(double x)
            {
                
            return (A*x*x+B*x+C);
            }

            double Romberg(double a,double b,double eps)
            {
                
            #define MAX_N 1000
                
            int min,tmp2;
                
            double d,tmp4,R[2][MAX_N];
                
                
            for(int i=0;i<MAX_N;i++)
                    R[
            0][i]=R[1][i]=.0;
                d
            =b-a;
                min
            =(int)(log(d*10.0)/log(2.0));
                R[
            0][0]=0.5*d*(f(a)+f(b));
                tmp2
            =1;
                
            for(int i=2;i<MAX_N;i++)
                {
                    R[
            1][0]=.0;
                    
            for(int j=1;j<=tmp2;j++)
                        R[
            1][0]+=f(a+d*((double)j-0.5));
                    R[
            1][0]=(R[0][0]+d*R[1][0])*0.5;
                    tmp4
            =4.0;
                    
            for(int j=1;j<i;j++)
                    {
                        R[
            1][j]=R[1][j-1]+(R[1][j-1]-R[0][j-1])/(tmp4-1.0);
                        tmp4
            *=4.0;
                    }
                    
            if((fabs(R[1][i-1]-R[0][i-2])<eps) && (i>min))
                        
            return R[1][i-1];
                    d
            *=0.5;
                    tmp2
            *=2;
                    
            for(int j=0;j<i;j++)
                        R[
            0][j]=R[1][j];
                }
                
            return R[1][MAX_N-1];
            }

            int main()
            {
                #ifndef ONLINE_JUDGE
                
            //freopen("data.in","r",stdin);
                #endif

                
            int T;
                scanf(T);
                
            while(T--)
                {
                    
            double x0,y0,x1,y1,x2,y2;
                    scanf(
            "%lf%lf%lf%lf%lf%lf",&x0,&y0,&x1,&y1,&x2,&y2);
                    B
            =(y2-y1-(x2*x2-x1*x1)*(y1-y0)/(x1*x1-x0*x0))/(x2-x1-(x2*x2-x1*x1)/(x1+x0));
                    A
            =(y1-y0-(x1-x0)*B)/(x1*x1-x0*x0);
                    C
            =y0-A*x0*x0-B*x0;
                    B
            -=(y2-y1)/(x2-x1);
                    C
            +=x1*(y2-y1)/(x2-x1)-y1;
                    
                    printf(
            "%.2f\n",Romberg(x1,x2,kEps));
                }
                
                
            return 0;
            }
            posted on 2011-08-23 18:56 lee1r 閱讀(327) 評論(0)  編輯 收藏 引用 所屬分類: 題目分類:數學/數論
            久久精品九九亚洲精品| 久久精品无码一区二区app| 久久久国产亚洲精品| 久久亚洲AV成人无码国产| 国产亚州精品女人久久久久久| 亚洲国产成人久久精品99| 国产欧美久久久精品| 香蕉久久夜色精品升级完成| 国产精品美女久久久久av爽| 久久久久亚洲精品无码蜜桃| 嫩草影院久久国产精品| 无码AV中文字幕久久专区| 久久国产精品久久| 99蜜桃臀久久久欧美精品网站| 久久99热这里只有精品国产| 中文字幕精品无码久久久久久3D日动漫| 97久久国产露脸精品国产| 久久久久亚洲AV成人网人人软件| 国产精品久久久福利| 国产精品久久久久无码av| 婷婷国产天堂久久综合五月| 国产一区二区三区久久精品| 亚洲AV日韩精品久久久久| 思思久久99热免费精品6| 亚洲午夜精品久久久久久app| 国产精品九九九久久九九 | 亚洲αv久久久噜噜噜噜噜| 品成人欧美大片久久国产欧美| 久久亚洲日韩精品一区二区三区| 久久大香萑太香蕉av| 久久综合九色综合网站| 久久久久久伊人高潮影院| 久久99热这里只有精品国产| 99久久精品免费观看国产| 亚洲欧美国产日韩综合久久| 亚洲乱亚洲乱淫久久| 99久久精品国产毛片| 精品视频久久久久| 日日狠狠久久偷偷色综合0| 中文精品久久久久人妻| 久久午夜免费视频|