zoj 1104 Leaps Tall Buildings(超人不会飞- -。。)
这题刚开始做计算几何的时候就做到了,无奈有点小看不懂,今天又看到这题了,下决心把它A了 = =。。
首先先把顶点全求出来,然后就是抛物线的V和角度与抛物线方程( y = ax^2 + bx + c)的关系。
可知
x = Vx * t;
y = Vy * t - 1/2*g*t*t;
二者联立,消去t,就得到了抛物线方程。
然后我的做法是,二分抛物线二次项系数a,因为已知起点和终点,那么b和a的关系自然有了 -b/(2a) 为极值点 x 坐标,这个x肯定是第一个点和最后一个点的中点x坐标。
然后求出来 a ,b,再由推导出来的关系求出V和角度即可。
我觉得我像是在做高中数学 + 物理混合题。。。T T。。
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <math.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <limits.h>
#include <string.h>
#include <string>
#include <algorithm>
#define MID(x,y) ( ( x + y ) >> 1 )
#define L(x) ( x << 1 )
#define R(x) ( x << 1 | 1 )
#define BUG puts("here!!!")
#define STOP system("pause")using namespace std;const int MAX = 110;
const double g = 9.8;
const double eps = 1e-8;
const double inf = 1e20;
const double pi = acos(-1.0);
bool dy(double x,double y) { return x > y + eps;} // x > y
bool xy(double x,double y) { return x < y - eps;} // x < y
bool dyd(double x,double y) { return x > y - eps;} // x >= y
bool xyd(double x,double y) { return x < y + eps;} // x <= y
bool dd(double x,double y) { return fabs( x - y ) < eps;} // x == y
struct point {double x,y;void p(double xx, double yy){x = xx; y = yy;}
};
point p[MAX];double B(double a,double s)
{return -2*a*s;
}int solve(double a, double b, int cnt)
{bool flag = false;for(int i=1; i<cnt-1; i++){double x = p[i].x; double y = p[i].y;if( xy(a*x*x + b*x, y) ) return 1;if( dd(a*x*x + b*x, y) ) flag = true;}if( flag ) return 0;return -1;
}int main()
{int n;double sy, sx;while( ~scanf("%d", &n) ){double ss = 0;int cnt = 0;for(int i=0; i<n; i++){scanf("%lf%lf", &sy, &sx);p[cnt].x = ss;p[cnt++].y = sy;p[cnt].x = ss + sx;p[cnt++].y = sy;ss += sx;}double begin = eps, end = inf;double s = p[cnt-1].x / 2, b, mid;while( begin <= end ){mid = (begin + end)/2;b = B(-mid, s);int ans = solve(-mid, b, cnt);if( ans == 0 ) break;if( ans == 1 ) // 极值点比较低begin = mid;elseend = mid;}double ang = atan(b);double v = sqrt(g/(2*mid))/cos(ang);printf("%.2lf %.2lf\n", ang/pi*180, v);}return 0;
}
zoj 1104 Leaps Tall Buildings(超人不会飞- -。。)相关推荐
- ZOJ 1104 Leaps Tall Buildings
题目大意:给出一些建筑物的高度与宽度,求出一条最矮的抛物线运动轨迹,能够跨过所有的建筑物. 输出初速度与水平方向的夹角,以及初速度的大小. 重力加速度取9.8m/(s^2) 思路: 因为该抛物线过固定 ...
- POJ ZOJ题目分类
POJ,ZOJ题目分类(多篇整合版,分类很细致,全面) 标签: 题目分类POJ整理 2015-04-18 14:44 1672人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: ACM资料(5) ...
- POJ,ZOJ题目分类(多篇整合版,分类很细致,全面)
水题: 3299,2159,2739,1083,2262,1503,3006,2255,3094 初级: 一.基本算法: (1)枚举 (1753,2965) (2)贪心(13 ...
- ZOJ 题目分类,学校的一个巨巨做的。
DP: 1011 NTA 简单题 1013 Great Equipment 简单题 1024 Calendar ...
- poj题目详细分类及算法推荐题目
DP: 1011 NTA 简单题 1013 Great Equipment 简单题 1024 Calendar Game 简单题 ...
- ACM POJ 题目分类(完整整理版本)
DP: 1011 NTA 简单题 1013 Great Equipment 简单题 1024 Calendar Game 简单题 ...
- PUK ACM题目分类
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- pku,zju题目分类
哎呦喂,直接ctrl+A了.话说浙江大学的题还见过的呢.. 公告: [意见反馈][官方博客] ural pku Zju 题目分类 收藏 感谢 mugu 的提供.... Ural Problem ...
- HOJ题目分类//放这儿没事刷刷学算法!嘻嘻!
各种杂题,水题,模拟,包括简单数论. 1001 A+B 1002 A+B+C 1009 Fat Cat 1010 The Angle 1011 Unix ls 1012 Decoding Task 1 ...
- Firebug Console 与命令行全集
Console API 当打开 firebug (也包括 Chrome 等浏览器的自带调试工具),window 下面会注册一个叫做 console 的对象,它提供多种方法向控制台输出信息,供开发人员调 ...
最新文章
- Object类-try-catch-finally-throw-throws-自定义异常
- IntelliJ IDEA使用(一):创建maven web项目
- html5 head 标签
- .net 动软代码生成器
- java异常及错误处理大纲
- 2.word转换为pdf
- Java基础知识之变量与常量、数据类型、类型转换
- 类与方法java讲解_Java中方法使用的深入讲解
- 大数据对人们的好处_大数据有什么作用和优势
- JVM 新生代老年代
- Python获取网络中的存活主机以及哪些主机是Linux
- linux libsqlite3 dev,在centos中安装sqlite3 dev和其他软件包
- 百度地图迁徙大数据_百度地图迁徙大数据:2月5日,成都为全国迁入城市第二;迁出城市第一...
- 教你撩妹,每天给小姐姐发一封暖心邮件
- 2021-09-18 Android repo 镜像服务器搭建
- 服务器电脑通电自动开机
- itext文本域自动换行_iText+Flying Saucer生成pdf文档,重写Breaker中文可以换行,但是英文单词会截断问题
- 求点赞、被点赞,社交网络用户对点赞又爱又恨
- oracle日志如何查看,oracle如何查看日志
- python安装扩展库常用的工具是什么和conda_python习题01——董付国学习系列
热门文章
- html如何添加qq聊天框
- mysql count函数 null_MySql中COUNT(XXX OR NULL)
- 双系统windows+linux如何正确删除linux
- WMS库存盘点流程 WMS库存盘点计划
- android回环地址,Android WebRTC完整入门教程02: 本地回环
- 快乐的强化学习6——DDPG及其实现方法
- Windows笔记本-U盘无法完成格式化
- 奥林匹克计算机竞赛保送,电脑奥赛中最寂寥的竞赛 5学生夺牌直通清华
- MarkDown中使用gif的神器:LICEcap
- 电赛总结(四)——波形发生芯片总结之AD9854