HDU1969
记得用PI=acos(-1)反三角函数求,用一次排序,然后二分和贪心
#include<iostream>
#include<algorithm>
#include<iomanip>
#include<cmath>
using namespace std;
class Pie{
public:
double r;
double s;
};
bool Check(Pie p[], int n, int f, double x);
bool Cpm(Pie&a, Pie&b){
return a.r>b.r;
}
int main(){
Pie p[];
int i, n, f, Case;
double left, right, mid, pi =acos(-);
cin >> Case;
while (Case--){
cin >> n >> f;
f++;
for (i = ; i < n; i++){
cin >> p[i].r;
p[i].s = p[i].r*p[i].r*pi;
}
sort(p, p + n, Cpm); //按面积从小大大排序
left = 0.0, right = p[].s; //左右边界
while (right - left>1e-){
mid = (left + right)/;
if (Check(p, n, f, mid))
left = mid;
else
right = mid;
}
cout <<setiosflags(ios::fixed)<<setprecision()<<(left+right)/<< endl;
}
return ;
}
bool Check(Pie p[],int n,int f, double x){//检查是否可以满足条件
int i = , peo = ;
for (i = ; i < n; i++){
peo += int(p[i].s / x);
if (peo >=f)
return ;
}
return ;
}
HDU1969的更多相关文章
- HDU2199,HDU2899,HDU1969,HDU2141--(简单二分)
二分是一种很有效的减少时间开销的策略, 我觉得单列出二分专题有些不太合理, 二分应该作为一中优化方法来考虑 这几道题都是简单的使用了二分方法优化, 二分虽然看似很简单, 但一不注意就会犯错. 在写二分 ...
- *HDU1969 二分
Pie Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- 二分法经典习题——HDU1969
#include <iostream>#include <cmath>#include <iomanip>using namespace std; double p ...
- HDU1969:Pie(二分)
Pie Time Limit : 5000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissio ...
- Hdu1969 Pie 2017-01-17 13:12 33人阅读 评论(0) 收藏
Pie Time Limit : 5000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissio ...
- HDU1969 Pie(二分搜索)
题目大意是要办生日Party,有n个馅饼,有f个朋友.接下来是n个馅饼的半径.然后是分馅饼了, 注意咯自己也要,大家都要一样大,形状没什么要求,但都要是一整块的那种,也就是说不能从两个饼中 各割一小块 ...
- Cable master--hdu1551(二分法)
Cable master Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
随机推荐
- 【Reverse Integer】cpp
题目: Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 click ...
- ADO之密码验证--3次错误就锁定
这个程序是那vs2010下写的,C#语言.数据库是sql server 2008 首先在数据库中新建一个数据库Test1,在数据库中新建一个表用来保存用户名和密码USERINFO, CREATE TA ...
- 使用 Region,RegionManager 在 XNA 中创建特殊区域(十八)
平方已经开发了一些 Windows Phone 上的一些游戏,算不上什么技术大牛.在这里分享一下经验,仅为了和各位朋友交流经验.平方会逐步将自己编写的类上传到托管项目中,没有什么好名字,就叫 WPXN ...
- Java的移位运算符
1.左移运算符:<< 丢弃左边指定位数,右边补0. 注意: 当int类型进行左移操作时,左移位数大于等于32位操作时,会先求余(%)后再进行左移操作.也就是说左移32位相当于不进行移位操作 ...
- 零基础学习 Python 之字符串
初识字符串 维基百科对于字符串的定义式:字符串是由零个或者多个字符组成的有限串行.你之前学会敲的第一行 print 代码里的 "Hello World",就是一个字符串.字符串的本 ...
- 【转】Visual Studio 2013 Tools for Unity安装目录,Visual Studio 2013 Tools.unitypackage
http://blog.csdn.net/dynastyting/article/details/46505349 Visual Studio 2013 Tools for Unity安装目录 D:\ ...
- jquery怎样获取html页面中的data-xxx
$(this).attr("data-id") // will return the string "123"or .data() (if you use ne ...
- spring boot redis代码与配置
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Co ...
- 声卡(Sound Card)基本概念
声卡 (Sound Card)是实现声音的模拟/数字信号相互转换.信号处理的一种硬件. 声卡的基本功能是把来自话筒.磁带.光盘的原始声音信号加以转换(模数转换或者数模转换),输出到耳机.扬声器.扩音机 ...
- windows系统——常用命令
1.cleanmgr: 打开磁盘清理工具2.compmgmt.msc: 计算机管理3.conf: 启动系统配置实用程序4.charmap: 启动字符映射表5.calc: 启动计算器6.chkdsk.e ...