HDU 1071 The area ——微积分

【题目分析】

求二次函数和一次函数围成的面积。

先解方程求出一次函数和二次函数。

然后积分。

现在还是不会积分。

【代码】

#include <cstdio>
#include <cstring>
#include <cstdlib>
//#include <cmath>

#include <set>
#include <map>
#include <string>
#include <algorithm>
#include <vector>
#include <iostream>
#include <queue>

using namespace std;

#define maxn 20005
#define mlog 16
#define inf (0x3f3f3f3f)

void Finout()
{
    #ifndef ONLINE_JUDGE
    freopen("in.txt","r",stdin);
//    freopen("out.txt","w",stdout);
    #endif
}

int Getint()
{
    int x=0,f=1; char ch=getchar();
    while (ch<‘0‘||ch>‘9‘) {if (ch==‘-‘) f=-1; ch=getchar();}
    while (ch>=‘0‘&&ch<=‘9‘) {x=x*10+ch-‘0‘; ch=getchar();}
    return x*f;
}

int T;
double x1,x2,x3,y1,y2,y3;
double a,b,c,t,k;

int main()
{
	Finout();
	T=Getint();
	while (T--)
	{
		scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
		k=(y3-y2)/(x3-x2);
		t=y3-x3*k;
		a=(y2-y1)/((x1-x2)*(x1-x2));
		b=-x1*2*a;
		c=y1-a*x1*x1-b*x1;
		printf("%.2f\n",(a/3*x3*x3*x3+(b-k)/2*x3*x3+x3*(c-t))-(a/3*x2*x2*x2+(b-k)/2*x2*x2+x2*(c-t)));
	}
}

  

时间: 2024-11-08 20:17:57

HDU 1071 The area ——微积分的相关文章

hdu 1071 The area 高斯消元求二次函数+辛普森积分

构造系数矩阵,高斯消元求解二次函数,然后两点式求直线函数,带入辛普森积分法无脑AC... #include<cstdio> #include<queue> #include<algorithm> #include<cstring> #include<vector> #include<cmath> using namespace std; struct node { double x,y; }p[4]; double g[10][10]

hdu 1071 - The area(解题报告)

The area Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 8715    Accepted Submission(s): 6115 Problem Description Ignatius bought a land last week, but he didn't know the area of the land becau

HDU 1071 - The area

求曲线和直线围成的面积 求表达式,求积分 1 #include <iostream> 2 using namespace std; 3 double x[4],y[4]; 4 int t; 5 double k,m;//fx1: y=kx+m 6 double a,b,c;//fx2: y=a(x-b)^2+c 7 void getfx1() 8 { 9 k=(y[3]-y[2])/(x[3]-x[2]); 10 m=y[2]-k*x[2]; 11 } 12 void getfx2() 13

HDU 1071 The area (数学定积分)

题意:求阴影部分面积. 析:没什么可说的,就是一个普通的定积分. 代码如下: #include <cstdio> #include <iostream> using namespace std; int main(){ int T; cin >> T; double x0, y0, x1, y1, x2, y2, k, b, a, c, h, s; while(T--){ scanf("%lf %lf %lf %lf %lf %lf",&x0

hdu 1071 The area【定积分】

用顶点式\( a(x-h)^2+k=y \)解方程,转化为\(ax^2+bx+c=y \)的形式,然后对二次函数求定积分\( \frac{ax^3}{3}+\frac{bx^2}{2}+cx+C \)即可.(其实我不知道那个C是干什么用的反正这里不用加. #include<iostream> #include<cstdio> using namespace std; int T; double x1,x2,x3,y1,y2,y3,a,b,c,h,k; double f(double

HDU 1071 微积分

The area Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7611    Accepted Submission(s): 5332 Problem Description Ignatius bought a land last week, but he didn't know the area of the land becaus

HDU ACM 1071 The area 定积分计算

分析: 1.求抛物线方程F(x)=a*x^2+b*x+c: 2.求直线方程f(x)=k*x+b. 3.利用定积分计算F(x)-f(x)在x2到x3之间的面积. #include<iostream> using namespace std; double fun(double a,double b,double c,double d,double k,double x) { return a*x*x*x/3.0-(2.0*a*b+k)*x*x/2.0+(a*b*b+c-d)*x; } int m

hdoj 1071 The area

The area Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8388    Accepted Submission(s): 5888 Problem Description Ignatius bought a land last week, but he didn't know the area of the land becaus

TOJ 1210 The area(微积分)

描述 Ignatius bought a land last week, but he didn't know the area of the land because the land is enclosed by a parabola and a straight line. The picture below shows the area. Now given all the intersectant points shows in the picture, can you tell Ig