2018年东北农业大学春季校赛 A-wyh的曲线

链接:https://www.nowcoder.com/acm/contest/93/A

来源:牛客网

题目描述

给你三组数列,分别为

现在给你一个式子:

然后我们可以将这个函数画在一个xoy直角坐标系下,x的范围为[0,100],当然我们可以得到一条曲线,现在你们涵哥让你们求出这个曲线的长度,结果保留两位小数

输入描述:

单组输入:

每组测试数据第一行输入一个整数n。
接下来n行,每行3个数代表

Data limit:

输出描述:

对于每组测试数据,输出对应答案,结果保留两位小数

示例1

输入

3
1 2 3
4 5 6
7 8 9

输出

215.56

思路

此题先考虑高等数学所学知识,定积分求平面曲线的弧长(第二类曲线积分)。由于存在上限100.0,可能不是一段“光滑”的圆弧,会有些麻烦,一直AC不过。

赛后看别人的提交,发现题目描述有误。压根就不是(cin >> a >> b >> k;),而是 cin >> k >> a >> b;

(能AC就有鬼了。。。)

AC代码

#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <iomanip>
using namespace std;int n;
vector<double> ai,bi,ki;double getY(double x){double minY = 100.0;for(int i=0; i<n; i++){double y = (ki.at(i))*(x-ai.at(i))*(x-ai.at(i))+bi.at(i);minY=min(minY,y);}return minY;
}double Total(double left, double right){double mid = (left+right)/2.0;if(right-left > 1e-4){return Total(left,mid) + Total(mid,right);}double y_left = getY(left);double y_right = getY(right);double y_mid = getY(mid);double dy0 = y_right-y_left, dy1 = y_mid-y_left, dy2 = y_right-y_mid;double dx0 = right-left, dx1 = mid-left, dx2 = right-mid;double d0 = sqrt(dx0*dx0+dy0*dy0);double d1 = sqrt(dx1*dx1+dy1*dy1);double d2 = sqrt(dx2*dx2+dy2*dy2);if(fabs(d2+d1-d0) < 1e-9){return d0;}else{return Total(left,mid) + Total(mid,right);}
}int main()
{ios::sync_with_stdio(false);    // 需加上,否则会超时cin >> n;// while(n--){for(int i=0;i<n;i++){double a,b,k;// cin >> a >> b >> k;cin >> k >> a >> b;ai.push_back(a);bi.push_back(b);ki.push_back(k);}double ans = Total(0, 100);cout << fixed << setprecision(2) << ans << endl;return 0;
}

2018年东北农业大学春季校赛 A-wyh的曲线相关推荐

  1. 2018年东北农业大学春季校赛 K wyh的数列【数论/斐波那契数列大数取模/循环节】...

    链接:https://www.nowcoder.com/acm/contest/93/K 来源:牛客网 题目描述 wyh学长特别喜欢斐波那契数列,F(0)=0,F(1)=1,F(n)=F(n-1)+F ...

  2. 2018年东北农业大学春季校赛 D wyh的迷宫【搜索】

    链接:https://www.nowcoder.com/acm/contest/93/D 来源:牛客网 题目描述 给你一个n*m的迷宫,这个迷宫中有以下几个标识: s代表起点 t代表终点 x代表障碍物 ...

  3. 2018年东北农业大学春季校赛 F wyh的集合【思维】

    链接:https://www.nowcoder.com/acm/contest/93/F 来源:牛客网 题目描述 你们wyh学长给你n个点,让你分成2个集合,然后让你将这n个点进行两两连接在一起,连接 ...

  4. 2018年东北农业大学春季校赛 E-wyh的阶乘

    2018年东北农业大学春季校赛 E-wyh的阶乘 链接:https://www.nowcoder.com/acm/contest/93/E 来源:牛客网 题目描述 这个问题很简单,就是问你n的阶乘末尾 ...

  5. 2018年东北农业大学春季校赛 E 阶乘后的0【数论】

    链接:https://www.nowcoder.com/acm/contest/93/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  6. 2018年东北农业大学春季校赛 题解

    [题目链接] 写在前面:从都到尾做了一下这场比赛,似乎好题都是原题,水题都是他们学校自己出的.原题在抄过来的过程中,很多题目的题面.数据范围都出了问题,还有题目数据很水.建议以后这样的比赛不要挂到外面 ...

  7. 2014湖南农业大学ACM校赛

    湖南农业大学 2014年 ACM 校赛Problem 2014 /2/23  星期日  12:30-17:30 A.搜素      1794.查找指定的字符串      B.链表      1795 ...

  8. 西北大学2019年春季校赛题解(G-L)

    G. 房间迷宫 裸的最短路,spfa和dij都行.因为每个数字的因子不会很多. 话说现场赛过的人好少,都是RE什么的奇怪错误,看代码也是最短路,不知道什么锅QAQ,就算你过了吧..因为这个题赛前预估算 ...

  9. 东北农业大学考研计算机大纲,东北农业大学339农业知识综合一考研大纲

    东北农业大学339农业知识综合一考研大纲 2018年东北农业大学硕士研究生招生考研大纲 科目代码:339 科目名称:农业知识综合一 一.考试要求 主要考察考生掌握植物学基本概念.基本理论.包括植物的形 ...

最新文章

  1. 分贝dB与放大倍数的转换关系及对照表
  2. DOM-9 【实战】模块化开发Todolist(面向过程)
  3. android 系统(6)---Android ADB 命令大全
  4. 第6章 循环、批量传送和条件转移-1.34h
  5. 【已解决】华硕电脑关闭触摸板,安装完触摸板驱动,Fn+F9仍然无法解决问题
  6. 微信小游戏制作坦克大战(一)微信小游戏制作工具介绍
  7. CSS a:hover
  8. 基于微信小程序的毕业设计题目(30)php物业维修报修小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)
  9. Cisco NAT --- ip nat enable NVI方式
  10. 如何在word、pdf、ppt中导入字体
  11. linux充气服务器,XenLinux balloon的实现分析
  12. 成都IT云图:安逸生活撞上十倍速度
  13. 一本关于Symbian入门的电子图书,中文版
  14. 【WinSCP】强大的可视化远程文件传输 、管理工具 (支持多种协议,支持电脑与手机)
  15. VM安装centos7并远程连接
  16. python爬虫技术源码_实战|手把手教你用Python爬虫(附详细源码)
  17. TA大数据分析系统的高可用架构从设计到实现
  18. (小白)python如何微信自动加好友
  19. Unicode 编码转换器 1.0
  20. 新手自媒体应该如何入门

热门文章

  1. 吴恩达团队盘点2019AI大势:自动驾驶寒冬、NLP大跃进、Deepfake已成魔!
  2. Java数据结构第一讲-排序算法
  3. 减少网站的外链但保留外链资源
  4. js之求最大值和最小值总结
  5. Linux下Makefile的安装以及使用
  6. linux中atoi函数的实现 值得借鉴,atoi 函数实现
  7. 泰克示波器上位机软件功能分享,这几款你都用过吗?
  8. 关于win7注册表中文件关联应用程序的规则
  9. 极路由饥饿营销引质疑 联合创始人拿数据正面回应
  10. 使用shell脚本自动更新动态域名