BZOJ3695 滑行

转化模型就变成几层折射率不同的玻璃光要怎么走才能从(0, 0)到(x, y)

我们发现第一次光线射出去的角度确定,之后光的行程是确定的

而且角度和最后到达y时的x成正相关,于是可以二分!

然后物理学学好就可以了QAQ

 1 /**************************************************************
 2     Problem: 3695
 3     User: rausen
 4     Language: C++
 5     Result: Accepted
 6     Time:24 ms
 7     Memory:820 kb
 8 ****************************************************************/
 9
10 #include <cstdio>
11 #include <cmath>
12 #include <algorithm>
13
14 using namespace std;
15 typedef double lf;
16 const lf pi = acos(-1.0);
17 const lf eps = 1e-12;
18 const int N = 105;
19
20 lf ans;
21 int n, x;
22 int h[N], v[N];
23
24 inline lf calc(lf now) {
25     lf res = 0, tmp = 0;
26     int i;
27     for (i = 1; i <= n; ++i) {
28         res += (lf) h[i] / tan(now);
29         tmp += (lf) h[i] / sin(now) / v[i];
30         now = pi / 2 - asin(sin(pi / 2 - now) * v[i + 1] / v[i]);
31     }
32     ans = tmp;
33     return res;
34 }
35
36 int main() {
37     int i;
38     scanf("%d%d", &n, &x);
39     for (i = 1; i <= n; ++i) scanf("%d", h + i);
40     for (i = 1; i <= n; ++i) scanf("%d", v + i);
41     lf l = 0, r = pi / 2, mid;
42     while (l + eps < r) {
43         mid = (l + r) / 2;
44         if (calc(mid) <= x) r = mid;
45         else l = mid;
46     }
47     printf("%.3lf\n", ans);
48     return 0;
49 }

时间: 2024-10-04 10:58:13

BZOJ3695 滑行的相关文章

科目三考试什么情况会被判定空挡滑行

记录别人的经验: 科目三起步出现空挡滑行两次 什么原因 一起步就报空挡滑行了 有两个教练 一个教练说我起步松离合慢 还有一个教练说我档没挂到位??? 么纠结了,规矩是为了应付考试的,按照标准来做,不要照着你的习惯来做,那样冒得好处的..你如果一直把脚放在离合上,别个是教练陪考员听车子的运作都听的出来.那样你直接挂.么抱有侥幸心理.现在就开始刻意憋你的习惯,你晓得的撒,车只要起步了,除非换档,不然离合的脚都要离开,降档的时候,先点刹车,降下来后再踩离合换挡,,靠边停车时也是一样,降到2档后,离合刹

怎么用几何画板创建滑行反射变换

对于几何画板很多的用户不仅会用到平移.旋转.缩放.反射和迭代这些,如果有需求的话还可以通过“创建自定义变换”,建立新的变化规则来满足自己实现对象的变换.其实这就是自定义变换.对于自定义变换的例子有很多,下面本几何画板教程将以利用几何画板创建滑行反射变换为例作详细讲解. 具体的操作步骤如下: 步骤一 在绘图区域构造一条竖直的直线AB(按住Shift+构造直线),并且在右边构造一点C.  构造垂直的直线AB和点C示例 步骤二 选定点A.点B,执行“标记向量”,把点C按标记向量平移得到C'.再标记直线

[FJSC2014]滑行

[题目描述] 首长NOI惨跪,于是去念文化课了.现在,他面对一道物理题. 现在有一个小滑块可以在地面上滑行,地面上被划分成不同的区域,使得小滑块在不同的区域内部有一个不同的速度上限. 小滑块在(0,0)点,我们现在要推动小滑块到目标点(x,y). 地面上有N层区域,每层区域都是矩形.现在给你一个序列{hi}表示每层区域的高度,覆盖的地面横坐标范围是0~x,第i个区域的限速是vi. 注:y=Σhi,其它的地方小滑块不允许进入. 现在我们要设计一个路线使得小滑块滑到目标点的用时最小. [输入格式]

【UOJ 47】滑行的窗口

[题目描述]: 给定一个长度为n的数列a,再给定一个长度为k的滑动窗口,从第一个数字开始依次框定k个数字,求每次框定的数字中的最大值和最小值,依次输出所有的这些值.下面有一个例子数组是 [1 3 1 3 5 6 7] , k 是3: 窗口位置 窗口中的最小值 窗口中的最大值 [1 3 -1] -3 5 3 6 7 -1 3 1 [3 -1 -3] 5 3 6 7 -3 3 1 3 [-1 -3 5] 3 6 7 -3 5 1 3 -1 [-3 5 3] 6 7 -3 5 1 3 -1 -3 [5

大神刷题表

9月27日 后缀数组:[wikioi3160]最长公共子串 dp:NOIP2001统计单词个数 后缀自动机:[spoj1812]Longest Common Substring II [wikioi3160]最长公共子串 [spoj7258]Lexicographical Substring Search 扫描线+set:[poj2932]Coneology 扫描线+set+树上删边游戏:[FJOI2013]圆形游戏 结论:[bzoj3706][FJ2014集训]反色刷 最小环:[poj1734

[ACM] POJ 1088 滑雪 (记忆化搜索复习)

滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 77763   Accepted: 28905 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道载一个区域中最长底滑坡.区域由一个二维数组给出.数组的每个数字代表点的高度.下面是一个例子 1 2 3 4 5 16 17

NYOJ10,skiing

skiing 时间限制:3000 ms  |  内存限制:65535 KB 难度:5 描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道载一个区域中最长底滑坡.区域由一个二维数组给出.数组的每个数字代表点的高度.下面是一个例子 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 一个人可

翻译(一)What is your definition of a DBA?

原文链接:http://www.sqlservercentral.com/articles/Editorial/160538/ 作者:By Ben Kubicek, 2017/09/05 你对DBA的定义是什么                                                                                    By Ben Kubicek,    2017/09/05    我知道这个问题简单的回答是数据库管理员,但是他扮演的角色

4977:怪盗基德的滑翔翼

4977:怪盗基德的滑翔翼 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯.而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼. 有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了.不得已,怪盗基德只能操作受损的滑翔翼逃脱. 假设城市中一共有N幢建筑排成一条线