二分三角形的时候尤其需要注意!!! HDU 5115 二分+模拟
题目大意:http://blog.csdn.net/snowy_smile/article/details/49535301
思路:分类讨论,分别在[1,2]、(2,3)、[3,4)、[4,1]相遇,然后再特判v1和v2的大小关系即可。
然后特别需要注意在(2,3)时候的二分了,因为我们二分非斜边的话,非斜边的增长速率大于斜边的增长速率
//看看会不会爆int!数组会不会少了一维!
//取物问题一定要小心先手胜利的条件
#include <bits/stdc++.h>
using namespace std;
#define LL long long
#define ALL(a) a.begin(), a.end()
#define pb push_back
#define mk make_pair
#define fi first
#define se second
#define haha printf("haha\n")
const double eps = 1e-;
const double len = 300.0;
const double duijiao = sqrt(1.0***);
double t, v1, v2;
int sign(double x){
return abs(x) < eps ? : (x > ? : -);
} bool work_2_3(){
double t1, t2;
double lb = 0.0, rb = 300.0;
for (int i = ; i <= ; i++){
double mid = (lb + rb) / 2.0;
t1 = sqrt(1.0** + mid*mid) / v1;
t2 = (300.0 + mid) / v2;
///if (sign(t1 - t2) > 0) rb = mid;
///else lb = mid;
if (sign(t1 - t2) > ) lb = mid;
else rb = mid;
}
t2 = (len - lb + len) / v2 + t;
t1 = (lb + len * 2.0) / v1;
if (sign(t1 - t2) > ) return false;
return true;
} bool work_3_4(){
double t1, t2;
double lb = 0.0, rb = 300.0;
for (int i = ; i <= ; i++){
double mid = (lb + rb) / 2.0;
t1 = (sqrt(1.0** + mid * mid)) / v1;
t2 = (len * 3.0 - mid) / v2;
if (sign(t1 - t2) > ) rb = mid;
else lb = mid;
}
t2 = (len + lb) / v2 + t;
t1 = (sqrt(len*len + (len-lb)*(len-lb)) + *len) / v1;
if (sign(t1 - t2) > ) return false;
return true;
} bool solve(){
///[1,2]
if (sign(v1 - v2) >= ) return true;
if (v1 == ) return false;
///[1,4]
double t1 = len / v1, t2 = len * 3.0 / v2;
if (sign(t1 - t2) >= ) return false; t1 = duijiao / v1;
t2 = len * 2.0 / v2;
if (sign(t1 - t2) >= ) return work_3_4();
else return work_2_3();
} int main(){
int kase; cin >> kase;
for (int i = ; i <= kase; i++) {
scanf("%lf%lf%lf", &t, &v1, &v2);
bool flag = solve();
if (flag) printf("Case #%d: Yes\n", i);
else printf("Case #%d: No\n", i);
}
return ;
}
二分三角形的时候尤其需要注意!!! HDU 5115 二分+模拟的更多相关文章
- hdu 4024 二分
转自:http://www.cnblogs.com/kuangbin/archive/2012/08/23/2653003.html 一种是直接根据公式计算的,另外一种是二分算出来的.两种方法速度 ...
- hdu 1669(二分+多重匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1669 思路:由于要求minimize the size of the largest group,由此 ...
- HDU 3586 二分答案+树形DP判定
HDU 3586 『Link』HDU 3586 『Type』二分答案+树形DP判定 ✡Problem: 给定n个敌方据点,1为司令部,其他点各有一条边相连构成一棵树,每条边都有一个权值cost表示破坏 ...
- hdu 4004 (二分加贪心) 青蛙过河
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4004 题目意思是青蛙要过河,现在给你河的宽度,河中石头的个数(青蛙要从石头上跳过河,这些石头都是在垂 ...
- (二分匹配“匈牙利算法”)无题II --HDU --2236
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2236 代码: #include<cstdio> #include<cstring> ...
- hdu 5046 二分+DLX模板
http://acm.hdu.edu.cn/showproblem.php?pid=5046 n城市建k机场使得,是每个城市最近机场的距离的最大值最小化 二分+DLX 模板题 #include < ...
- HDU 5699 二分+线性约束
http://acm.hdu.edu.cn/showproblem.php?pid=5699 此题满足二分性质,关键在于如何判断当前的时间值可以满足所有的运送方案中的最长的时间. 对于每一次枚举出的k ...
- hdu 3277(二分+最大流+拆点+离线处理+模板问题...)
Marriage Match III Time Limit: 10000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- hdu 3081(二分+并查集+最大流||二分图匹配)
Marriage Match II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
随机推荐
- react视频入门
http://pan.baidu.com/s/1i46by8t 密码:48tt
- 3个微信小程序体验报告
1.小程序摩拜单车.腾讯视频.JD的体报告 2.小程序的入口存在不公平 3.小程序2.0会怎么样?WSO浅谈 KEVIN常用的APP是以摩拜单车与JD商城和大众点评等,那么今天也就通过这上个进行对比 ...
- Struts2-2.了解struts.xml的查找顺序
默认namespace的package <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE s ...
- Date 和 SimpleDateFormat 类表示时间
Date now=new Date(); // 使用format()方法将日期转换为指定格式的文本 SimpleDateFormat sdf1 = new SimpleDateFormat(" ...
- hdu_5314_Happy King(树的点分治)
题目链接:hdu_5314_Happy King 题意: 给出一颗n个结点的树,点上有权值: 求点对(x,y)满足x!=y且x到y的路径上最大值与最小值的差<=D: 题解: 还是树的点分治,在统 ...
- 5、判断、循环、数组综合练习案例(迷你DVD)
迷你dvd代码如下: package com.manager; import java.util.Scanner; public class DVDManage { public static voi ...
- Gentoo: !!! existing preserved libs问题
问题描述 !!! existing preserved libs: >>> package: media-libs/libmng-2.0.2-r1 * - /usr/lib/libm ...
- Python 拆分字符串
数:split() Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list ...
- 新版本的jquery checkbox 全选反选代码只能执行一遍,第二次就失败attr与prop区别
$("#all_check").click(function() { $("input[name='checkShop[]']").attr("che ...
- mybatis 一点整理
mapper指定对应的接口 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper ...