Poj-1328 二维化一维 典型贪婪算法

贪心算法—建立雷达(POJ 1328) 经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示。由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容。 阅读详情

题意大概是x轴上方是海洋,海洋上分布着一些岛屿(用点坐标表示),你呢想在岸上安装雷达,使得雷达能扫到岛屿(即在雷达的范围内),求安装雷达的最小数量^-^

Poj-1328
#include<cstdio>
#include<algorithm>
#include<cmath>
const int INF = 1000000000;
using namespace std;
struct  Interval {      //interval是区间的意思
    double left, right;
};
const int max_island = 1000 + 10;
Interval the_interval[max_island];
int the_num;
double the_r;
bool cmp(const Interval& a, const Interval& b) { //排序函数
    if (a.right == b.right)
        return a.left >= b.left;
    return a.right < b.right;
}
int main() {
    int the_case = 1;
    while (scanf("%d%lf", &the_num, &the_r) == 2) {
        if (the_num == 0 && the_r == 0)
            break;
        double point_x, point_y;
        bool if_out_r = false;
        for (int i = 0; i < the_num; i++) {
            scanf("%lf%lf", &point_x, &point_y);
            if (point_y > the_r) {//如果离海岸太远,超出雷达半径,我劝你还是放弃吧
                if_out_r = true;
            }
            else {
                the_interval[i].left = point_x - sqrt(pow(the_r, 2) - pow(point_y, 2));
                the_interval[i].right = point_x + sqrt(pow(the_r, 2) - pow(point_y, 2));
            }
        }
        if (if_out_r) {
            printf("Case %d: -1\n", the_case++);
        }
        else {
            sort(the_interval, the_interval + the_num, cmp);
            double most_left = -INF; //double 我写成int找了很久,最大允许的左边区间点
            int the_need_radar = 0;
            for (int i = 0; i < the_num; i++) {
                if (the_interval[i].left > most_left) {
                        most_left = the_interval[i].right;
                        the_need_radar++;
                }
            }
            printf("Case %d: %d\n", the_case++, the_need_radar);
        }
    }
    return 0;
}

总结:
1.防止思路错误——我先前以为是像平移法一样把圆往右移,依次计算,导致我花了很长一段时间来写
2.审题要仔细,特别是那些对变量的描述的词汇,特别注意如数据类型,范围,输出格式······
3.编程时先写主函数,把框架先写好,遇到阻碍,在写细节。

一维数据转二维的方法 1D to 2D 这篇文章好久之前写完了,一直放在草稿箱今天翻到了。之前研究了一下一维数据转二维的方法整理了一下,记录下来方便以后查阅。 阅读详情

相关推荐

一维数据二维化的办法汇总(一)

在轴承故障诊断中,除了对模型进行改进,很多人也会对数据集进行变换。常见的比如说小波时频图,思路是将一维时序信号变换为二维图像,而后便于使用各种图像分类的先进技术。实际上还有很多方法可以进行这种类似的变换,相关的论文我也看到过,但是具体效果如何不好说。最近正在生成相关的数据集,比较耗时,所以先把大概类别贴出来,后续有了数据集以后会进行测试。

weixin_50642818的博客 3838

C语言 poj1328题

岛屿以d为半径做圆,与x轴的两个交点构成一条线段,能够扫到该岛屿的雷达一定在该线段上,将所有的线段按左端点大小从左到右排序,若前一个岛屿的右端点比后一个岛屿的左端点大,则两个岛屿能共用一个雷达,否则不能,雷达数+1,若能共用,则下一次作为判断标准的是前两个可以共用的岛屿右端点更小的岛屿位置。 该题已经在北大ACM网站提交通过 # include&lt;stdio.h&gt; # inclu...

H.千面的博客 988

Isaac Sim 使用经验(配置要求,云服务器)

Google Colab及AutoDL都是在docker内运行,其中google colab并不支持docker指令,而依照AutoDL的相关文档,AutoDL并不直接提供docker指令。2. Google Colab/AutoDL 不支持图形化界面,图形渲染等任务,所以没有办法使用Omniverse Streaming进行直播,从而更好的对结果进行展示。对于第一点,或许存在直接手动复现镜像的可能,但是考虑到Isaac Sim/Isaac Lab由于比较新,可能不够稳定,因此还是按照官方文档进行部署。

weixin_44211433的博客 4586

最大不相交子集 POJ1328

先解释一下最大不相交子集: 设有许多集合[Ai,Bi]; 最大不相交子集: 所有集合相交,产生的子集,这些产生的子集中的任意两个子集相交都为空集,产生的子集一定是最大的。 算法框架: for (int i ;i < n ;i++) { if (子集i的左边 > 子集j的右边 (i > j) ) { 最大不相交子集个数加一; 将j变为i; ...

weixin_44368514的博客 2995

GD32的低功耗模式:睡眠、深度睡眠与待机模式

GD32F4xx提供三种主要低功耗模式,功耗逐级降低:睡眠模式 (Sleep Mode)关闭CPU时钟,保持外设运行任意中断/事件唤醒深度睡眠模式 (DeepSleep Mode)关闭CPU和大部分外设时钟需特定唤醒源(外部中断、RTC等)待机模式 (Standby Mode)最低功耗,仅备份域维持供电仅支持复位、RTC、WKUP引脚唤醒。

波风水门的博客 2276

开关电源辅助电源设计全流程拆解

地类型定义包含电路功率地(PGND)高压侧地,与主功率电路地相连整流桥负极、原边电感地、UC3842的功率地信号地(SGND)低压侧地,与控制/采样电路地相连副边整流管地、TL431地、MCU/运放地。

lyzh971103的博客 1468

【题解】POJ 1328 Radar Installation(贪心)

POJ 1328 Radar Installation 原题 假设滑行是一条无限长的直线。陆地在海岸的一边,大海在另一边。每个小岛都是位于海边的一个点。而任何定位在海岸上的雷达装置,只能覆盖d距离,所以海上的岛屿可以被半径装置覆盖,如果它们之间的距离最多是d。 我们使用笛卡尔坐标系,定义滑行是x轴。海面在x轴上方,陆地面在x轴下方。考虑到每个岛屿在海上的位置,以及雷达装置的覆盖距离,您的任务是编写一个程序来查找覆盖所有岛屿的雷达装置的最小数量。注意,一个岛的位置是由它的x-y坐标表示的。 图一雷达装置的样

bu_shushu的博客 1279

计算机网络自顶向下(第八版)第一章课后习题

电路交换网络具有以下优点:资源独占性,在建立连接时,电路交换网络为通信双方独占一条物理路径,不会受到其他用户的影响。低时延,由于建立了专用路径,数据传输时延较小,适合对时延敏感的应用,如实时语音和视频通信。数据链路层:提供节点之间可靠的数据传输,主要任务是错误检测和纠正,以及数据帧的传输和访问控制。移动蜂窝网络:如4G LTE和5G,通过移动基站提供的无线信号实现移动设备的互联网接入。网络层:负责数据包的路由和转发,主要任务是通过网络选择最佳路径,进行流量控制和拥塞控制。手机,服务器,路由器,电脑;

hiahiakk的博客 2255

POJ 1328 安装雷达 - (贪心)

题目:http://poj.org/problem?id=1328 贪心:按区间右端点排序 岛屿对应放置雷达的区间 在区间的右端点放置雷达,若之后区间的左端点 1.<=上一个雷达,说明被覆盖,跳过 2.>上一个雷达,则在这个区间右端点放置雷达 若某个区间左端点>上一个雷达,那么这个区间至少要有一个雷达, 故产生了安装雷达数目的下界,下界的可构造性由程序给出。 #include &...

rsy56640的博客 597

18.EC实战 新建项目工程并配置各个引脚的工作方式(持续更新)

本博文介绍了从零开始新建EC工程及对各个引脚进行了工作模式的初始化配置

qq_30135687的博客 1731

在 ABAP CDS View 里把 Conversion Functions 用到极致:FLTP 精度、单位换算、货币换算与小数位处理的工程化实践

数据格式转换在真实项目中比业务逻辑更容易引发问题。ABAP CDS中的转换函数(如FLTP_TO_DEC、UNIT_CONVERSION、CURRENCY_CONVERSION和DECIMAL_SHIFT)可帮助在数据库层统一数据口径,避免应用层重复处理。这些函数支持数值精度治理、单位换算、货币转换和小数位调整,能显著提升报表性能并减少逻辑分散。通过将格式转换前移到数据模型层,可以确保服务层和UI层的数据一致性,同时降低接口传输错误风险。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2348

POJ 1328 贪心算法

本文系博主原创,转载请注明地址:https://blog.youkuaiyun.com/coder_what/article/details/82690880 雷达安装 时间限制: 1000MS 内存限制: 10000K 提交总数: 109120 接受: 24128 描述 假设滑行是无限直线。土地位于海岸的一侧,海洋位于另一侧。每个小岛都位于海边。并且任何...

王星星 3753

YOLOv8 | 代码逐行解析(一) | 项目目录构造分析

Hello,大家好这次给大家带来的不是改进,是整个YOLOv8项目的分析,整个系列大概会更新7-10篇左右的文章,从项目的目录到每一个功能代码的都会进行详细的讲解,同时YOLOv8改进系列也突破了三十篇文章,最后预计本专栏持续更新会在年底更新上百篇的改进教程, 所以大家如果没有订阅专栏可以提前订阅以下。下面开始进行YOLOv8逐行解析的一篇——项目目录构造分析在这里给大家推荐我的YOLOv8改进有效涨点专栏,本专栏目前为新开的平均质量分98分,后期我会根据各种最新的前沿顶会进行论文复现,。

Snu77的博客 4万+

[POJ]POJ1328(贪心)

题意:给出一些点的坐标和半径r,在x轴上选最少的圆心使所有点被圆覆盖。 坐标为(x,y)的点代表[x-sqrt(d^2-y^2),x+sqrt(d^2-y^2)]至少选一个点(显然d<y时无解),从而问题转化为给出一些区间,每个区间内要选至少一个点。 经典贪心问题:当Lj左边的点已经被全部覆盖时,且当前最右为Rj,考虑Li>=Lj的区间i 1.Lj<=Li<=Ri&l...

weixin_30852367的博客 234

自动化Ai Agent全流程实现【设计+代码】

本文探讨了人工智能代理(AI代理)如何通过自动化复杂的业务流程来帮助企业提高效率和降低成本。AI代理具有适应性、智力、自主性和可扩展性等特点,能够处理非结构化信息、在定义参数范围内做出判断、协调多个系统或利益相关者,以及处理变量输入和异常。文章详细介绍了AI代理在文件处理、客户服务、人才招聘和财务运作等领域的应用,并提供了一个逐步实现发票处理自动化的案例。此外,文章还强调了实施AI代理自动化的优势,包括效率提升、成本降低、准确性和可扩展性的改进,并提出了实施最佳实践,如从高影响力流程开始、设计人机交互、优先

FeelTouch Labs 893

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

POJ 1328 区间 贪心

【代码】POJ 1328 区间 贪心。

qq_53038151的博客 181

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

POJ 1328

POJ 1328 解题报告

innovacious的专栏 413

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

POJ 1328 (贪心~又有点不一样)

题意:这道题目是讲给一个坐标轴,在x轴上方给n个点,表示岛屿坐标,然后给定雷达半径(雷达只能放在x轴上,雷达范围是一个圆),问最少需要多少雷达覆盖所有岛屿。 写这道题就觉得题很怪 我的方法也很怪  最后发现和大家写的方法不一样  所以就想记录下来。 首先,我们对所有的点排个序,先按x从小到大,在按y的绝对值从大到小。我们开始遍历每一个点,求出当前点的对于所有点的最优雷达(即表示我们把当前岛屿放...

qq_41330733的博客 306

【贪心算法】POJ1328

【贪心算法】POJ1328

m0_71009069的博客 535

全网最全:27种一维数据转换成二维图像的方法-matlab代码

深度学习技术在图像识别领域取得突破,使得相关领域研究者开始研究如何将一维数据转换成二维的图像。好处是,一维数据中的关键信息可以在二维图像中充分的突出,利用深度学习技术(CNNs,Transformer,注意力网络)也可以学习到图像中的全局的相关性信息,有利于解决相关领域复杂问题。本期以一段信号展示样本的生成原理,可以替换各种数据集。生成原理如下:以一个滑动窗口去切分原始数据,这样形成多个样本,每个样本对应一张图像。,方便后续结合深度学习网络(CNNs,Transformer,注意力网络)的使用。

weixin_44028734的博客 3467

2024年一区算法-肺功能优化算法Lungs performance-based optimization(附Matlab代码)

本期介绍了一种新颖高效的算法--,它的灵感来自于人体肺的规律性和智能性能。该成果于在中科院1区SCI期刊Computer Methods in Applied Mechanics and Engineering。

weixin_44028734的博客 1369

poj1328

题目大意是:一条水平线,上半部有岛屿,给出n个岛屿的坐标,在x轴上有雷达,雷达最多覆盖d距离,问最少设置多少个雷达可以扫遍所有岛屿,明显的区间覆盖问题。一开始想的是只要两两岛屿之间距离小于2×d就可以被同一个雷达扫到,然后WA了,原因在于不一定能构造出圆。 解题思路是:以每一个岛屿为圆心,半径为d,作圆与x轴相交,则交到的范围就是可以放置雷达扫到该岛屿的范围,当然,如果没有交到,则证明没有答案,

TaskaNon的博客 635

【涨点神器】27种一维数据转换成二维图像的方法,适用于故障诊断、状态识别等-matlab代码

深度学习技术在图像识别领域取得突破,使得相关领域研究者开始研究如何将一维数据转换成二维的图像。转换的方式大致可分为两类:时频类和时域转换类。好处是,一维数据中的关键信息可以在二维图像中充分的突出,利用深度学习技术(CNNs,Transformer,图神经网络、注意力网络)也可以学习到图像中的全局的相关性信息,有利于解决相关领域复杂问题,。大量的论文表明:信号图像编码结合深度学习的智能故障诊断、识别方法,可显著提高识别精度。本期,并。

weixin_44028734的博客 5387

poj解题报告——1328

不得不说,这题是让我饱受折磨,毕竟第一次做贪心算法,而且WA了好多次,幸好有学长的帮助,最终找到了问题所在,是在快排上是问题,double高位不可向int低位转换,由于一开始强制转换导致虽然样例和其他的测试数据过了,但还是WA,现在改完了就对了,附上AC代码,ps:这题通过率是22%,真心不简单 代码如下 #include #include #include struct poi

Lingfu74的专栏 602
上一篇: POj-2718 Smallest Difference--全排列next_permutation()的应用文章标题
下一篇: Poj—2431 Expedition 优先队列使用经典例题
NotColdHeike
博客等级 码龄9年 2粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值