lightoj 1072 Calm Down | 二分
来源:互联网 发布:mac哪个虚拟机好用 编辑:程序博客网 时间:2024/05/08 10:37
题意:
给定一个圆的半径、已经小圆的个数。让你求出小圆的半径,使半径尽量大。
思路:
一开始以为是大圆的周长除以小圆的个数,然后得到小圆的直径。后来才发现是自己逗了。
正确的姿势是根据每个小圆所占的弧长计算。
二分小圆的半径,求出每个小圆对应的弧长,看是否符合个数条件。
AC代码:
#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>#include <cmath>#include <algorithm>using namespace std;const int MAXN = 1e5 + 5;const int INF = 0x3f3f3f3f;const double PI = acos(-1);double R, len;int n;bool OK(double mid){ double y = R-mid; double tmp = asin(mid/y); int tn = floor(PI/tmp); return tn >= n? true:false;} int main(){ int T, cas = 0; cin>>T; while(T--) { cin>>R>>n; double l = 0, r = R; // while(r - l > 1e-7) { double mid = (r+l)/2; if(OK(mid)) l = mid; else r = mid; } printf("Case %d: %.6f\n", ++cas, l); } return 0;}
0 0
- lightoj 1072 Calm Down | 二分
- lightoj 1072 Calm Down | 二分
- LightOJ 1072 - Calm Down 【二分】
- LightOJ 1072 Calm Down
- LightOJ 1072 Calm Down 几何
- calm down...
- calm down
- get calm down,
- Calm Down --求解小球半径
- ASIS 2015 Finals: Calm down (trivia75)
- Lightoj1072——Calm Down(计算几何)
- lightoj 1180 二分+DP
- 二分---LIGHTOJ 1062
- lightoj 1056 Olympics | 二分
- LightOJ _1138(二分查找)
- lightoj 1138 (二分)
- 【LightOJ 1307 + 二分】
- lightoj 1009 二分染色
- java学习--堆内存和栈内存详解
- Leetcode - Two Sum
- altium designer Summer09出现的问题解决方案
- TCP/IP浅谈
- setImageResource和setImageDrawable区别
- lightoj 1072 Calm Down | 二分
- javascript中常见字符串对象操作(一)
- 让你提前认识软件开发(51):VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改
- stack相关操作
- Eclipse 自动生成maven project 修改web project version
- Nginx如何解决“惊群”现象
- I/O重定向符号和功能说明
- Java 并发编程之任务取消(五)
- dict