• <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 閱讀(323) 評論(0)  編輯 收藏 引用 所屬分類: 題目分類:數學/數論
            伊人久久大香线蕉无码麻豆| 99久久精品免费看国产免费| 久久婷婷五月综合97色一本一本| 久久久久久国产精品免费无码| 久久亚洲国产午夜精品理论片| 亚洲国产成人久久综合区| 久久精品a亚洲国产v高清不卡| 久久天天躁狠狠躁夜夜不卡| 久久青青草原亚洲av无码app| 亚洲美日韩Av中文字幕无码久久久妻妇| 奇米影视7777久久精品| 久久久久久一区国产精品| 99久久免费国产特黄| 国产成人精品三上悠亚久久| 99久久99久久精品国产片| 亚洲精品乱码久久久久久久久久久久 | 久久亚洲AV成人出白浆无码国产| 91精品久久久久久无码| 久久精品aⅴ无码中文字字幕重口| 综合久久一区二区三区| 国产成人久久精品麻豆一区 | 久久无码国产专区精品| 成人午夜精品久久久久久久小说| 久久天堂AV综合合色蜜桃网 | 无码精品久久久天天影视| 日批日出水久久亚洲精品tv| 国产免费福利体检区久久| 色成年激情久久综合| 97超级碰碰碰碰久久久久| 色综合久久精品中文字幕首页| 久久精品国产亚洲AV嫖农村妇女 | 国产精品99久久久精品无码| 久久亚洲高清综合| 久久夜色精品国产亚洲av| 久久青青国产| 中文字幕无码av激情不卡久久| 午夜精品久久影院蜜桃| 亚洲精品国产自在久久| 东方aⅴ免费观看久久av| 亚洲精品无码久久久久sm| 久久久久99精品成人片直播|