Cai Xukun and Orz Pandas Gym - 102309C
题目链接:https://vjudge.net/problem/Gym-102309C
题意:给定蔡徐坤投篮的位置和篮筐的位置以及最大初速度,求一个初速度和时间。
思路:一开始我以为要用到二分,后面仔细一想不用这么麻烦,题目限制了最大初速度,但又保证一定存在解,那么我们就直接可以用给定的初速度,然后解一个一元二次方程即可(为什么这样可以呢,学过物理的同学就很容易理解,总会找到一个角度与其速度大小和路线一一对应)。
简单的化简过程:
1 #include <bits/stdc++.h>
2 #include <time.h>
3 #include <set>
4 #include <map>
5 #include <stack>
6 #include <cmath>
7 #include <queue>
8 #include <cstdio>
9 #include <string>
10 #include <vector>
11 #include <cstring>
12 #include <utility>
13 #include <cstring>
14 #include <iostream>
15 #include <algorithm>
16 #include <list>
17 using namespace std;
18 //cout<<setprecision(10)<<fixed;
19 #define eps 1e-6
20 #define PI acos(-1.0)
21 #define lowbit(x) ((x)&(-x))
22 #define zero(x) (((x)>0?(x):-(x))<eps)
23 #define mem(s,n) memset(s,n,sizeof s);
24 #define ios {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);}
25 typedef long long ll;
26 typedef unsigned long long ull;
27 const int maxn=1e6+5;
28 const int Inf=0x7f7f7f7f;
29 const ll mod=1e9+7;
30 //const int N=3e3+5;
31 bool isPowerOfTwo(int n) { return n > 0 && (n & (n - 1)) == 0; }//判断一个数是不是 2 的正整数次幂
32 int modPowerOfTwo(int x, int mod) { return x & (mod - 1); }//对 2 的非负整数次幂取模
33 int getBit(int a, int b) { return (a >> b) & 1; }// 获取 a 的第 b 位,最低位编号为 0
34 int Max(int a, int b) { return b & ((a - b) >> 31) | a & (~(a - b) >> 31); }// 如果 a>=b,(a-b)>>31 为 0,否则为 -1
35 int Min(int a, int b) { return a & ((a - b) >> 31) | b & (~(a - b) >> 31); }
36 ll gcd(ll a, ll b) {return b ? gcd(b, a % b) : a;}
37 ll lcm(ll a, ll b) {return a / gcd(a, b) * b;}
38 int Abs(int n) {
39 return (n ^ (n >> 31)) - (n >> 31);
40 /* n>>31 取得 n 的符号,若 n 为正数,n>>31 等于 0,若 n 为负数,n>>31 等于 -1
41 若 n 为正数 n^0=n, 数不变,若 n 为负数有 n^(-1)
42 需要计算 n 和 -1 的补码,然后进行异或运算,
43 结果 n 变号并且为 n 的绝对值减 1,再减去 -1 就是绝对值 */
44 }
45 ll binpow(ll a, ll b) {
46 ll res = 1;
47 while (b > 0) {
48 if (b & 1) res = res * a%mod;
49 a = a * a%mod;
50 b >>= 1;
51 }
52 return res%mod;
53 }
54 void extend_gcd(ll a,ll b,ll &x,ll &y)
55 {
56 if(b==0) {
57 x=1,y=0;
58 return;
59 }
60 extend_gcd(b,a%b,x,y);
61 ll tmp=x;
62 x=y;
63 y=tmp-(a/b)*y;
64 }
65 ll mod_inverse(ll a,ll m)
66 {
67 ll x,y;
68 extend_gcd(a,m,x,y);
69 return (m+x%m)%m;
70 }
71 ll eulor(ll x)
72 {
73 ll cnt=x;
74 ll ma=sqrt(x);
75 for(int i=2;i<=ma;i++)
76 {
77 if(x%i==0) cnt=cnt/i*(i-1);
78 while(x%i==0) x/=i;
79 }
80 if(x>1) cnt=cnt/x*(x-1);
81 return cnt;
82 }
83 /*int main()
84 {
85 double x0,y0,x1,y1,v,vx,vy,t;
86 double g=9.80665;
87 while(cin>>x0>>y0>>x1>>y1>>v)
88 {
89 x1-=x0,y1-=y0;
90 if(x1==0)
91 {
92 t=(v+sqrt(v*v-2*g*y1))/g;
93 vx=0,vy=v;
94 }else{
95 t=sqrt(sqrt((x1*x1+y1*y1)*4/(g*g)));
96 vx=x1/t;
97 vy=(y1+g*t*t/2)/t;
98 }
99 cout<<setprecision(10)<<fixed;
100 cout<<vx<<" "<<vy<<" "<<t<<endl;
101 }
102 return 0;
103 }*/
104 int main()
105 {
106 double x0,y0,x1,y1,v,vx,vy,t,g=9.80665;
107 while(cin>>x0>>y0>>x1>>y1>>v)
108 {
109 x1-=x0,y1-=y0;
110 if(x1==0)
111 {
112 t=(v+sqrt(v*v-2*g*y1))/g;
113 vx=0,vy=v;
114 }
115 else
116 {
117 t=sqrt(((v*v-g*y1)-sqrt((g*y1-v*v)*(g*y1-v*v)-g*g*(x1*x1+y1*y1)))/(g*g/2));
118 vx=x1/t;
119 vy=(y1+g*t*t/2)/t;
120 }
121 cout<<fixed<<setprecision(10)<<vx<<" "<<vy<<" "<<t<<endl;
122 }
123 }
Cai Xukun and Orz Pandas Gym - 102309C的更多相关文章
- Another Array of Orz Pandas
Another Array of Orz Pandas 题目链接:http://acm.xidian.edu.cn/problem.php?id=1187 线段树 线段树维护区间和以及区间内各个数平方 ...
- XidianOJ 1120 Gold of Orz Pandas
题目描述 Orz Panda is addicted to one RPG game. To make his character stronger, he have to fulfil tasks ...
- XidianOJ 1195 Industry of Orz Pandas
--正文 贪心 排序好慢慢找就好 #include <iostream> #include <cstring> #include <cstdio> #include ...
- 【Codeforces】Orz Panda Cup
大大出的题 大大经常吐槽没有人补,所以我决定做一个 A. APA of Orz Pandas 题意:给你一个包含+-*/%和()的表达式,让你把它转化成java里BigInteger的形式 大概就像这 ...
- xdoj-1117(记忆化搜索+组合数学)
因为我是从上到下,所以就不叫动态规划而叫记忆化搜索吧 (不过运行时间只有3ms....应该是很不错的吧) 排版怎么那么难看...编辑的时候不是这样子的啊?! 思想 : 大眼一看应该是一道很裸的状压dp ...
- codeforces gym #102082C Emergency Evacuation(贪心Orz)
题目链接: https://codeforces.com/gym/102082 题意: 在一个客车里面有$r$排座位,每排座位有$2s$个座位,中间一条走廊 有$p$个人在车内,求出所有人走出客车的最 ...
- Codeforces Gym 100342C Problem C. Painting Cottages 转化题意
Problem C. Painting CottagesTime Limit: 2 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/10 ...
- Codeforces Gym 100463E Spies 并查集
Spies Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100463/attachments Desc ...
- 利用 pandas 进行数据的预处理——离散数据哑编码、连续数据标准化
数据的标准化 数据标准化就是将不同取值范围的数据,在保留各自数据相对大小顺序不变的情况下,整体映射到一个固定的区间中.根据具体的实现方法不同,有的时候会映射到 [ 0 ,1 ],有时映射到 0 附近的 ...
随机推荐
- C# 类 (1)
通常每个类都会单独定义在自己的文件里,方便区分 Class 里面定义了 变量 属性 方法 实例化这个Class,得到一个对象,然后可以使用这个对象的变量 属性和方法 属性 Properties 像是一 ...
- 网易吃鸡 mac 版,没有声音
网易吃鸡 mac 版,没有声音 bug 声音太小了 客服电话 问题反馈 提交工单 https://gm.163.com/user_help.html?index=5&stypeid=3619 ...
- SASS CSS3 koala
CSS with superpowers Sass: Syntactically Awesome Style Sheets http://sass-lang.com/ Sass is the most ...
- ESLint & vue
ESLint & vue { "name": "app", "version": "1.0.1", " ...
- console.clear
console.clear Chrome console.clear && console.clear() refs xgqfrms 2012-2020 www.cnblogs.com ...
- map & forEach
map & forEach let logs = `2018-05-23 20:24:09,876 [Timer-2] ERROR org.gil.sydb.server.table.sync ...
- ESLint All In One
ESLint All In One ESLint $ yarn add -D eslint .eslintrc.{js,yml,json} 优先级 .eslintrc .eslintrc.js .es ...
- 小程序 怎么发 beta 版本
小程序 怎么发 beta 版本 微信 https://developers.weixin.qq.com/miniprogram/dev/devtools/mydev.html 小程序助手 支付宝 ht ...
- yarn create & npx & npm init
yarn create & npx & npm init https://www.npmtrends.com/npm-vs-npx-vs-yarn demo https://www.n ...
- django学习-15.ORM查询方法汇总
1.前言 django的ORM框架提供的查询数据库表数据的方法很多,不同的方法返回的结果也不太一样,不同方法都有各自对应的使用场景. 主要常用的查询方法个数是13个,按照特点分为这4类: 方法返回值是 ...