【三分】HDU3756 Dome of Circus

从零到一:银河麒麟OS下C#跨平台开发的避坑指南 本文详细介绍了在银河麒麟OS下进行C#跨平台开发的完整流程,从开发环境搭建到避坑指南。针对国产操作系统特性,提供了.NET Core安装、开发工具链配置、桌面应用开发及部署优化的实战经验,特别关注ARM架构适配和性能调优,帮助开发者高效应对国产化开发挑战。 阅读详情
  • 假设我们枚举一个半径r,那么分别考虑包含进每个点圆锥的最小高度h0,h1,…,hn−1,显然此时如果半径为r,圆锥高度应为maxn−1i=0 hi,简单推算一下公式,可以发现体积关于半径是个凹函数,于是三分半径即可。
  • 注意初始的半径范围,上限自然可以随便设置一个较大值,但下限需要稍加考虑。设
    di=xi2+yi2−−−−−−−√
    那么r应满足
    r>max{di},0≤i<n
  • 输入输出部分,即使ios::sync_with_stdio(false)也无法避免cin和cout的超时问题,所以似乎必须用printf和scanf来IO。
/* **********************************************

    File Name: 3756.cpp

    Auther: zhengdongjian@tju.edu.cn

    Created Time: 2015/9/9 星期三 下午 7:07:06

*********************************************** */
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<int, int> P;
const double EPS = 1e-4;
const double INF = (double)INT_MAX;
const int MAX = 10007;
struct Pos {
    double x, y, z;
} a[MAX];
int n;

istream& operator>>(istream& in, Pos& p) {
    in >> p.x >> p.y >> p.z;
    return in;
}

pair<double, double> gao(double r) {
    double h = 0.0;
    for (int i = 0; i < n; ++i) {
        double dis = a[i].x * a[i].x + a[i].y * a[i].y;
        dis = sqrt(dis);
        //printf("dis = %f\n", dis);
        //getchar();
        double tp = a[i].z / (r - dis) * dis + a[i].z;
        if (tp > h) h = tp;
    }
    return make_pair(h, r * r * h);
}

pair<double, double> cut(double le, double ri) {
    double md, mdmd;
    while (ri - le > EPS) {
        //printf("le = %f, ri = %f\n", le, ri);
        md = (le + ri) * 0.5;
        mdmd = (md + ri) * 0.5;
        if (gao(mdmd).second > gao(md).second) {
            ri = mdmd;
        } else {
            le = md;
        }
    }
    //printf("le = %f, ri = %f\n", le, ri);
    return make_pair(gao(le).first, le);
}

int main() {
    int T;
    scanf(" %d", &T);
    while (T--) {
        scanf(" %d", &n);
        double mindis = 0.0;
        for (int i = 0; i < n; ++i) {
            scanf(" %lf %lf %lf", &a[i].x, &a[i].y, &a[i].z);
            mindis = min(mindis, sqrt(a[i].x * a[i].x + a[i].y * a[i].y));
        }
        //auto res = make_pair(0.0, 0.0);
        auto res = cut(mindis + EPS, 100000.0);
        printf("%.3f %.3f\n", res.first + EPS, res.second + EPS);
    }
    return 0;
}
液冷方式介绍 如果将直径在1~100nm的颗粒悬置在传热流体(例如:水、乙烯、乙二醇等)中时,其传热能力会得到提升,因为大多数固体材料的热导率要大于液体,因此由颗粒、流体组成的混合物热导率也高于液体本身的热导率,由此制成的流体,我们称之为纳米流体。金属冷管的液体工质蒸散量几乎为0,而柔软材质的管道则会产生液体的蒸散,在封闭式循环系统中,为了弥补液体工质的蒸散,必须定期在系统中补充液体工质。——我们之前说过,材料的导电和导热的机制大致是类似的,所以导电能力更强的金属往往具有更好的导热能力。 阅读详情

相关推荐

在Pycharm中配置Pyqt5工具(2023年新版教程)

在Pycharm中配置Pyqt5相关的三个工具:QtDesigner、PyUIC、PYRCC

网络技术和Python 2万+

HDU Dome of Circus

#include #include #include #include #include #include #include #include #include //#include "myAlgorithm.h" #define MAX 10005 #define INF (1e8 + 5) #define eps 1e-7 #define Rep

极度猥琐 935

Matlab激活失败?手把手教你解决License checkout failed问题(附详细截图)

本文针对Matlab激活后出现“License checkout failed”错误的常见问题,提供了详细的解决方案。核心在于精准定位并正确填写Windows系统用户名,而非计算机名或账户全名。文章通过分步截图和命令指引,手把手教你使用`whoami`命令获取正确信息,并重新运行激活程序,从根本上解决因用户名填写错误导致的许可检查失败问题。

weixin_29062823的博客 570

HDU 3756 Dome of Circus(计算几何 + 三分)

题意:给定三维空间中n个点坐标,必在xOy平面之上,求一个最小的圆锥能包含所有顶点,点可以刚好在面上 思路:转换为平面上的点被一个三角形包围,Y坐标为原来的z坐标,X坐标为原来到z轴的距离,然后三分求解斜率,注意精度问题 #include #include #include #include #include #include #include #include #include #inclu

hnust_Derker的博客 396

CGNS快速入门到实战(一):CGNS静态链接库编译

近期,由于需要将CGNS格式加入到教研组自编CFD求解器DUBHE中,所以本人展开了对于CGNS的学习。CGNS快速入门到实战这一系列分成三篇文章展开叙述,具体有:(一)CGNS静态链接库编译;(二)VS配置调用CGNS静态链接库编写;(三)CGNS文件及案例展示。本篇文章重点讲述CGNS静态链接库编译。

ahang_99的博客 3817

不会ps,你也可以成为ps高手,最强傻瓜式人像一键磨皮美白瘦脸美妆PS插件

比如:美肤是用来去斑点的,如果效果不太理想,就加大百分比,反之就减小。瘦脸如果脸胖的就打开,正常的就关闭。所谓的一键调节,要不只能调节一种效果,要不就是个预设,然后让你自己再调。同时,该软件还加入了贴心的批量处理功能,能同时处理上千张照片,让您喝着茶也能将工作做完。、自动检测照片中的人脸,包括鼻子,嘴巴,耳朵,眼睛和眉毛。、依托强大的脸部识别功能,可以高效的对人物全身皮肤进行智能识别,处理,使肤质平滑、过渡均匀。,这是网上下载的模糊照片,经过简单处理,你可以发现,眼睛变的更亮,皮肤更白,眼袋消失。

心语家园 - www.xinyucn.cc 2896

uva 1473 - Dome of Circus (几何 + 二分)

题目链接:uva 1473 - Dome of Circus #include #include #include #include using namespace std; const int maxn = 10005; const double inf = 0x3f3f3f3f3f3f3f3f; const double eps = 1e-9; struct Poin

不慌不忙、不急不躁 846

Cocos Creator 2.4 APK逆向实战:如何完整提取游戏资源并还原工程(附工具包)

本文详细介绍了针对Cocos Creator 2.4打包的APK进行逆向工程的完整流程,包括环境搭建、资源索引解析、打包文件提取、图集拆分以及工程结构还原。重点讲解了如何利用config.json和.jsb文件完整提取游戏资源,并生成可被Cocos Creator识别的工程目录与.meta文件,最终实现工程还原的目标。

h3i4j的博客 1493

HDU 3756 Dome of Circus 三分

/* 底面为xy平面和轴为z轴的圆锥,给定一些点,使得圆锥覆盖所有点并且体积最小 点都可以投射到xz平面,问题转换为确定一条直线(交x,z与正半轴)使得与x的截距r 和与z轴的截距h满足h*r*r最小。 三分,对于确定的h可以找到最佳的r,并且h*r*r的曲线必定只有一个极小值 */ struct po { double x,y; }p[10005]; const double eps=1

Join Hands 1916

SXU—软件测试方法和技术-朱少民-第三部分 软件测试方法大题汇总-附考点和相关习题及解答

软件测试方法和技术-朱少民-第三部分 软件测试方法—-最少测试用例个数,强一般弱一般强健壮、边界值分析、ns流程图、白盒逻辑覆盖代码、等价类划分,逻辑组合(条件)覆盖,计算圈复杂度等—附考点和相关习题及解答

weixin_63597914的博客 2211

用AI科研绘图全新升级!借助谷歌新发布模型Nano Banana pro实测一键绘制机制图与技术路线图,直接告别文字乱码与低画质

之前有同仁反馈,用Nano Banana画科研插图的时候,要么文字部分容易乱码,要么抓不住关键内容,画出来的效果反复修改后,还是达不到理想的效果。终于在Gemini 3发布没几天,万众期待的大香蕉模型也成功升级到了Pro版本,官方名称叫“Gemini 3 Pro Image”,实际上也就是我们说的Nano Banana 2。这次的Nano Banana Pro模型,不仅可以直出4K高清图,还能自定义比例,推理能力和中文文字的稳定性也得到了提升。

智能AI让学术科研更容易 1887

hdu 3756 Dome of Circus(三分)

题意:求能将所有点覆盖的最小体积的圆锥。 体积变化为凹形,故可以三分半径r,再枚举各个点找最大的高h。 View Code 1 /* 2 Author:Zhaofa Fang 3 Lang:C++ 4 */ 5 #include <cstdio> 6 #include <cstdlib> 7 #include <sstr...

diaoqisi8354的博客 153

【2026年米哈游春招 - 3月14日 -第一题- 行列相等】(题目+思路+Java&C++&Python解析+在线测试)

摘要 本文解决了一个矩阵行列和匹配问题:统计矩阵中行和等于列和的所有行列对数量。算法首先计算每行和每列的元素和,然后利用哈希表统计各行列和的出现次数。通过遍历列和并查询对应的行和出现次数,高效计算出匹配对数。该方法时间复杂度为O(nm),空间复杂度为O(n+m),适用于大规模矩阵数据。代码实现了Python、Java和C++版本,通过哈希表优化避免了暴力枚举,显著提高了计算效率。

m0_73659489的博客 83

hdu 3756 Dome of Circus 三分

hdu 3756 Dome of Circus 题意: 在一个三维空间中, 给定一些点, 这些点的z坐标都是大于0的。要求求出一个圆锥(底面是圆形), 使得这个圆锥的底面在z = 0的平面上, 它能够包含所有给定的n个点并且圆锥的体积要求最小。 限制: 1 |x|, |y|, |z| 思路: 先把所有点映射到一个X-Y坐标的第一象限上, 然后问题就转化为, 求一条直线

whai的专栏 868

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

hdu 3756 三分 Dome of Circus

题意:        给你很多个点,让你输出一个r和h,使这样的圆锥体能覆盖给出的所有点并且体积最小。 题解:        三分(因为是个最值的问题)。枚举r,得到h。 做题过程:      wa了一两次。刚开始是因为只输出2位小数,而题目的要求是输出3位小数。后来就再也找不到错误了。 最后,在今天,将三分的上限改了一改,就A了。。。只能说,我还too young ,too simpl

Julyana_Lin_夜 780

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

HDU 3756 Dome of Circus 三分

题意:在一个三维坐标中,有n个点(x,y,z),现在要用一个圆锥曲面(z>0)去覆盖住所有的点,点在圆锥曲面上也认为是覆盖。问当z=0时,圆锥曲面的半径和当(x,y=0)时,圆锥曲面的高为多少时?圆锥曲面的体积最小。 想法:首先先看二维图,设一个线段(x,0)(x,y),如果此时在x外围处有一个点为k,那么很显然当k越接近x时,则k与(x,y)构成的之间与y轴的交点越是大。所以当我们知道

猫ER 614

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

hdu3756 Dome of Circus:三分学习

这个题虽然是三维的,但是可以很容易的转化到二维去 。来看X-Z这个平面,我们将所有的点进行圆周映射,然后将所有的点都投影到 X-Z平面的的第一象限去,然后问题就转化成了在X-Z平面上找到一条斜率为负 的直线L,L和X正方向、Z正方向围成的三角形包含所有点,如果假设L和X轴的

凌语小辉 1292

HDU 3756 && UVALive 4986 Dome of Circus Dome of Circus(计算几何基础+三分)

Sample Input 1 1.00 0.00 1.00 2 1.00 0.00 1.00 0.00 1.50 0.50 3 1.00 0.00 1.00 0.00 1.50 0.50 -0.50 -0.50 1.00 Sample Output 3.000 1.500 2.000 2.000 2.000 2.000

C_Dreamy的博客 351

LA 4986 hdu3756 Dome of Circus 三分答案

题目地址:hdu3756

Jingqi@Mr.B的ACM博客 669

HDU 3756 Dome of Circus (三分)

传送门题意很简单,就是给你N个三维坐标,要你求一个三菱锥把所有点罩进去,在边边也行,要你求出满足条件的最小体积的三菱锥的高H和底面半径R很简单三分就行了但是这题我自己当时过得很惨烈,我写搓了,结果靠交来测答案。先是我写搓的代码,给巨巨们引以为戒#include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #def

o670783915的博客 276

hdu 3756 || Dome of Circus || 2010 Northeastern European Regional Contest(三分)

题目hdu 3756 Dome of Circus连接 请搓 题意: 在建一个已原点为圆心的圆锥体。要求圆锥体要包括在给出n个在第一、二、三、四象限的所有点,并且使圆锥体体积最小,求出半径和高。 思路: 看了这个百度搜索排第一题解看懂了内容,但是这个和具体实现没太大关系,头都大了。一怒写下这个自以为比较简单粗暴的博客。 其实求最小体积,只和两个变量有关,即圆半径 r 和圆锥高 h, 而所求体积

潘帅 shuai.pan 649

HDU 3756 Dome of Circus

点击打开链接 题意: 给n 求一个全包含了所有点的最小体积锥形 解法: 把x y z映射成sqrt(x*x+y*y),z 即可转化为二维坐标 然后求一个全包含了所有点的三角形 使得底边的平方*高最小 三分高,暴力求底即可     //大白p263 #include #include #include #include #include #include #incl

Leezard's Journey 672

HDU 3756,LA 4986——Dome of Circus

题目大意:一个马戏团要建一个锥形的帐篷,

char256 776

hdu 3756 Dome of Circus(模拟退火)

Dome of Circus Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 922    Accepted Submission(s): 411 Special Judge Problem Description

街角的花街糖 910

HDU - 3756 - Dome of Circus

先上题目 Dome of Circus Time Limit: 10000/3000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 931Accepted Submission(s): 417Special Judge Problem Description ...

weixin_30553065的博客 119

[HDU3756]Dome of Circus

题目大意:   在一个立体的空间内有n个点(x,y,z),满足z>=0。   现在要你放一个体积尽量小的圆锥,把这些点都包住。   求圆锥的高和底面半径。 思路:   因为圆锥里面是对称的,因此问题很容易可以转化到一个二维平面上,我们只需要将所有点绕着z轴旋转到xOz平面上即可。   考虑不同半径时圆锥的体积,不难发现这是一个关于半径r的下凸函数。   于是我们可以三分求解...

weixin_34349320的博客 104
上一篇: 【随便做做】Codeforces#86 Problem C Double Happiness
下一篇: 【随便做做|线段树】POJ3667 Hotel
bit_line
博客等级 码龄12年 33粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值