博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TOJ4439微积分――曲线积分(数学,模拟)
阅读量:4544 次
发布时间:2019-06-08

本文共 1519 字,大约阅读时间需要 5 分钟。

传送门:

格林公式P,Q为关于x,y的函数。

现在为了方便起见,现给出x的积分上限1,积分下限0, y的积分上限x,积分下限0。

P只是关于Y的函数,Q只是关于X的函数。

输入

开始输入为测试组数n。每一组的开始输入Q的项数q和Q关于X的系数以及指数。接下来是P的多项式的项数p和P的关于Y的系数以及指数。

p<= 100, q <= 100。注意:指数是正整数,系数不为 0。

输出

每一组输出为一行,保留两位小数。

样例输入

2

1

2 2
1
3 3

2

1 1
2 2
2
1 1
2 2

样例输出

0.58

0.67

 

思路:

本质是套公式计算算偏导数

例如样例中第一个数据Q=2x^2,P=3y^3.

代入公式计算的就是

中间是4x-9y^2的原因:根据格林公式中,对Q求关于x的偏导,对P求对于y的偏导,两式相减得到4x-9y^2。

计算过程:

7/12 写成小数保留2位就是0.58

因此就模拟求导积分的过程就行了,因为上界下届都给定了,我套了个map存指数对应的系数(注意系数要用double)

代码:

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long long#define pb push_back#define mk make_pair#define pill pair
#define mst(a, b) memset(a, b, sizeof a)#define REP(i, x, n) for(int i = x; i <= n; ++i)#define pi acos(-1.0)#define Max_N 1001#define inf 0x3f3f3f3f#define N 1001#define ll long longusing namespace std;int main(){ int _; for(scanf("%d",&_);_--;){ int n;scanf("%d",&n); map
mp; while(n--){ int x;double a; scanf("%lf%d",&a,&x); a*=x; x-=1;//求导 mp[x+1] += a;//积分之后乘以x } int m; scanf("%d",&m); while(m--){ int x;double a; scanf("%lf%d",&a,&x); mp[x] -= a; } double ans = 0; map
::iterator it = mp.begin(); for(;it != mp.end() ;it++){ double xi = it->second; int zhi = it->first; ans += xi/(1.0*(zhi+1)); } printf("%.2lf\n",ans); }}/*221 12 221 12 2*/

 

 

 

转载于:https://www.cnblogs.com/Esquecer/p/10307452.html

你可能感兴趣的文章
Thinkphp5笔记二:创建模块
查看>>
centos 安装mysql
查看>>
Redis 禁用FLUSHALL FLUSHDB KEYS 命令
查看>>
Matlab中imread函数使用报错“不应为MATLAB 表达式”分析
查看>>
MFC ADO数据库操作
查看>>
图像质量评价-NQM和WPSNR
查看>>
面试准备——相关知识
查看>>
每日一字:悟
查看>>
CentOS7.6安装稳定版Nginx
查看>>
LeetCode 1002. Find Common Characters (查找常用字符)
查看>>
建立隐藏管理员用户
查看>>
android设置图文提醒功能
查看>>
ajax跨域提交
查看>>
完成登录与注册页面的前端
查看>>
Mac下source tree 下的安装
查看>>
Q学习原理及例子
查看>>
rpmbuild 源码打包clickhouse,附带打好的rpm包下载地址
查看>>
软件体系结构原理、方法与实践总结
查看>>
2017-2018-1 《程序设计与数据结构》第3周学习总结
查看>>
一些基础语法
查看>>