POJ 1852 ANTS

【题解】POJ 1852 Ants(搜索) POJ1852 Ants 目录POJ1852 Ants原题题意题解 原题 An army of ants walk on a horizontal pole of length l cm, each with a constant speed of 1 cm/s. When a walking ant reaches an end of the pole, it immediatelly fall... 阅读详情

                                       Ants

Time Limit: 1000MS Memory Limit: 30000K
Total Submissions: 21297 Accepted: 8744

Description

An army of ants walk on a horizontal pole of length l cm, each with a constant speed of 1 cm/s. When a walking ant reaches an end of the pole, it immediatelly falls off it. When two ants meet they turn back and start walking in opposite directions. We know the original positions of ants on the pole, unfortunately, we do not know the directions in which the ants are walking. Your task is to compute the earliest and the latest possible times needed for all ants to fall off the pole.

Input

The first line of input contains one integer giving the number of cases that follow. The data for each case start with two integer numbers: the length of the pole (in cm) and n, the number of ants residing on the pole. These two numbers are followed by n integers giving the position of each ant on the pole as the distance measured from the left end of the pole, in no particular order. All input integers are not bigger than 1000000 and they are separated by whitespace.

Output

For each case of input, output two numbers separated by a single space. The first number is the earliest possible time when all ants fall off the pole (if the directions of their walks are chosen appropriately) and the second number is the latest possible such time.

Sample Input

2
10 3
2 6 7
214 7
11 12 7 13 176 23 191

Sample Output

4  8

38 207

大体意思是蚂蚁走杆,两蚂蚁碰头后会反向行走,走到杆头会掉下去,求所有蚂蚁都掉下去的最大和最小时间。

思维题目,需要想到一点就是两只蚂蚁在碰头时分别反向走的路程与两只蚂蚁直接向前走的路程相同,即两只蚂蚁在碰头时反向走可以看做两只蚂蚁碰头后仍保持原方向继续行走,以此类推,问题便转化为每只蚂蚁均向前走时所用时间最长与最短。所以所用最短时间为每只蚂蚁所走最短路程的集合里的最大值,所用最长时间为每只蚂蚁所走最长路程集合里的最大值。

代码如下

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
int a[1000005];
int Min(int a,int b)
{
    return a<b?a:b;
}
int Max(int a,int b)
{
    return a>b?a:b;
}
int main()
{

    int n;
    int l;
    int x;
    scanf("%d",&x);//一共有几组数据需要计算
    while(x--)
    {
        scanf("%d%d",&l,&n);//长度和组数
        int mit=0,mat=0;//最大时间和最小时间
        for(int i=0; i<n; i++)
        {
            scanf("%d",&a[i]);
            mit=Max(mit,Min(a[i],l-a[i]));//求最小时间
            mat=Max(mat,Max(a[i],l-a[i]));//求最大时间
        }
        printf("%d %d\n",mit,mat);
    }

    return 0;
}



需要注意的一个问题就是此题用cin会超时,用scanf就可以通过了。
poj 1852 Ants 发现问题,解决问题 Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 17694   Accepted: 7520 Description An army of ants walk on a horizontal pole of length l cm, each with a constant spee 阅读详情

相关推荐

挑战程序设计竞赛 # POJ 1852 Ants

Description n个蚂蚁,速度1cm/s,在水平杆上运动。 已知:n个蚂蚁在杆上的分布 未知:每个蚂蚁的朝向 求:所有蚂蚁都离开杆的最小和最大时间。 Key 贪心入门 划重点:所有蚂蚁。 一个很有意思的描述就是,两只蚂蚁不能交错,相遇的话就各自反向,不计碰撞时间 这句话就是本题的破局点。 第一次接触算法的同学可能会有点懵。所以我写细一点。再简化问题,假设初始条件有蚂蚁的朝向,并且是求最先...

skysys的研究小屋 676

POJ 1852 Ants

POJ 1852 Ants 题意:有n个蚂蚁以1cm/s的速度在一个长Lcm的杆子上爬行,当蚂蚁爬行到杆子的终点就会掉落,由于杆子太细,两只蚂蚁相遇时,他们不能交错通过,只能各自反向爬回去,对于每个蚂蚁我们知道它距离杆子最左端的距离Xi,但不知道他当前的朝向,计算所有蚂蚁落下杆子的最短时间和最长时间。 分析: 1.最短时间:当所有蚂蚁都朝着距离最近的那端爬,便不会相遇,所以最短时间就是这...

dijingzhou4259的博客 118

采用超级电容设计的UPS不间断电源,用于掉电数据保存,可续航10-60秒

关键词:树莓派 CM4 UPS 不间断电源 掉电保存 超级电容 SuperCap 充电 升压 续航 10F 法拉电容 Mcuzone 野芯科技 概述:我们经常会遇到系统意外掉电的情况,对于一些可靠性要求很高的工业现场设备或者运行过程中有重要数据需要保存的平台就需要UPS电源了。常规的UPS采用后备锂电池设计,具备无缝切换、续航时间长、稳定可靠等特点,但同时也有价格过高、体积过大的缺点。对于不少仅需在检测到系统掉电后对数据进行保存即可的应用而言,这些标准的UPS电源就不太合适,为此我...

6605

poj 1852 Ants 【思维】

Ants Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 12890   Accepted: 5635 Description An army of ants walk on a horizontal pole of length l cm, each with

世界很大 500

深入解析Apollo Lattice Planner:自动驾驶轨迹规划的核心算法与实践

本文深入解析了百度Apollo自动驾驶平台中的核心轨迹规划算法——Lattice Planner。文章详细阐述了其作为车辆“即时决策者”的工作原理,通过“采样-评估”的六步流程(Frenet坐标转换、状态采样、轨迹生成、硬约束过滤、代价函数打分及决策平滑),在复杂路况下实时规划出安全、舒适、高效的行驶轨迹。该算法是自动驾驶实现智能决策与精准控制的关键技术。

weixin_29090677的博客 830

光谱预处理最简单实现方法--基于OpenSA光谱分析库

系列文章目录 “光晰本质,谱见不同”,光谱作为物质的指纹,被广泛应用于成分分析中。伴随微型光谱仪/光谱成像仪的发展与普及,基于光谱的分析技术将不只停留于工业和实验室,即将走入生活,实现万物感知,见微知著。本系列文章致力于光谱分析技术的科普和应用。 文章目录系列文章目录前言一、数据来源二、代码解读2.1 读取数据2 .2 划分数据集2 .3 返回训练集和测试集并绘制光谱图片2.4 建立1-D CNN模型2.5 训练1-D CNN模型2.6 测试1-D CNN模型2.7 运行CNN模型,并用查看结果总结

Echo_Code的博客 7067

Ants(POJ No.1852)

Ants(POJ No.1852) 原题链接:http://poj.org/problem?id=1852 poj已通过。 #include &lt;iostream&gt; #include&lt;algorithm&gt; using namespace std; int L,n; int x[1000000]; void solve() { int minT=0; int max...

种花家的奋斗兔的博客 806

从 YOLO 到视觉大模型:工程实践中如何选择?

本文对比了传统视觉模型YOLO与视觉大模型的差异。YOLO是单任务专用模型,适合规则明确、实时性要求高的检测任务;视觉大模型则具备通用视觉理解能力,但存在推理延迟大、算力成本高和"过度智能"等问题。在实际工程中,参数规模并非越大越好,7B-8B模型往往更均衡。控制大模型幻觉需通过严格Prompt设计、定向样本微调和任务拆解等方法。工业落地时应根据任务特性选择模型:YOLO适用于确定性高的场景,视觉大模型更适合复杂多变的环境。模型效果的关键在于任务边界、数据质量和系统设计,而非单纯追求参数

aiia18的博客 950

POJ 1852 Ants [Ad Hoc]

POJ 1852 Ants 两个蚂蚁相遇返回,可以看作穿墙过去。 算出每只蚂蚁最短距离和最长距离,更新ans即可#include <cstdio> using namespace std; int main() { int n_case; scanf("%d", &n_case); for (int i=0;i<n_case;i++) { int

more time 535

三臂杆大型液压机械臂集中式ADRC控制系统设计

本文设计了一种用于三臂杆液压机械臂的集中式自抗扰控制(ADRC)系统。该系统通过建立包含惯性矩阵、科氏力、重力及摩擦力的非线性动力学模型,并集成液压系统传递函数,构建了完整的系统模型。控制方案采用跟踪微分器安排过渡过程,扩张状态观测器实时估计系统状态和总扰动,以及非线性状态误差反馈生成控制量。MATLAB实现展示了集中式ADRC控制器的核心结构,包括参数定义、跟踪微分器、扩张状态观测器和非线性反馈模块的设计。该系统能有效处理多关节耦合效应,实现三输入三输出的MIMO控制,具有抗干扰能力强、响应速度快的特点。

huanghm88的专栏 270

在 Linux 64 位上遭遇 Signal 7 与 ST22 SYSTEM_CORE_DUMPED:从 es/implementation=std 到 /dev/shm 的一套落地排查法

摘要: Linux 64位SAP系统出现SYSTEM_CORE_DUMPED和Signal 7(对应SIGBUS)错误时,核心问题是进程因共享内存资源异常被操作系统强制终止。主要诱因包括:1)/dev/shm的tmpfs默认容量不足(通常仅占物理内存50%);2)SAP内存管理参数es/implementation=map在64位场景下的敏感性。解决方案应双管齐下:在实例profile设置es/implementation=std以降低对tmpfs的依赖,同时按(RAM+Swap)*75%重新配置/dev/

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

poj 1852 Ants

题目:http://poj.org/problem?id=1852本题如果从常规的思想出发去解决问题是比较复杂的,而且时间复杂度会比较高,极有可能超时,但本书给出了一个非常巧妙的解法,程序简单易懂,所以我们在平时训练的过程中不能一味的最求速度,而要想清楚具体的思路或者是巧妙的方法。一般考虑当两只蚂蚁在杠上运动时,蚂蚁相互间碰到后的运动情况,这个思路直接用“穿过去”的思想,非常巧妙 附上AC代码:/

在黑夜中前行 6778

华为校招实习机试&华为社招机试20240619-2.排列组合的回文字符串[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率

如果一个字符串和它反转后的字符串相同,我们称这个字符串为回文字符串,如"aba"是一个回文字符串,"abb"不是一个回文字符串(长度为1的字符串也是回文字符串)。现给定一个字符串,其长度范围为:[1,1000),返回其通过重新排列组合后所有可能的回文字符串的个数(需要去除重复的组合)。返回其通过重新排列组合后所有可能的回文字符串的个数,去除重复的组合后的回文字符串是"abba","baab",因此返回2。解释:排列组合后的回文字符串是"abba" , "baab",因此结果为2。

算法算法算法!!! 830

01 题目:POJ 1852 Ants

POJ 1852 Ants

©TyxMaek 645

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

POJ-1852 Ants

Vjudge笔记 POJ-1852 Ants 题意:一群蚂蚁在一根长l厘米的水平杆上行走,每根杆的速度恒定为1厘米/秒。当一只蚂蚁到达杆的末端时,它立刻从杆上掉下来。当两只蚂蚁相遇时,它们会转身向相反的方向走。我们知道蚂蚁在柱子上的原始位置,不幸的是,我们不知道蚂蚁行走的方向。你的任务是计算所有蚂蚁从极点上掉下来所需要的最早和最晚的可能时间。 解读: 1.无视碰撞。 2.最短时间 找到最靠近杆中点...

TPYEF_CHJZ的博客 318

WINCC7.3破解文件

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

【贪心】poj-1852 Ants (TZ)

Ants Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 25933   Accepted: 10181 Description An army of ants walk on a horizontal pole of length l cm, each with a constant s...

Z_sea的博客 241

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Ants poj1852

Ants 题意很清楚,但是刚开始看确实没有任何思路,因为对我来说,即使暴力穷举,由于碰撞问题的复杂性(或者是我单纯的菜)依旧是解决不了的,更何况穷举所带来的指数级的时间复杂度,对于这个数量的数据,基本也会时间超限。 之前看了下别人的思路,发现,其实最短时间,只需要蚂蚁将方向转到离端点最近的方向就可以了, 至于最长时间,我们可以发现,当将两只蚂蚁无差别话后,两只蚂蚁即使相遇后向反方向行走,但是我们可以看成两只蚂蚁交错过去依旧按起始方向行走,这样每只蚂蚁都是独立运动的,那么只需要算每只蚂蚁掉下去的时间并找出最

CUCUC1的博客 261

Ants (poj 1852)

题目地址:http://poj.org/problem?id=1852 仔细看题,认真思考,不要掉坑里去!!! 仔细看题,认真思考,不要掉坑里去!!! 仔细看题,认真思考,不要掉坑里去!!! //https://vjudge.net/problem/POJ-1182 #include<iostream> #include<stdio.h> #include<...

nainiu的博客 182

POJ - 1852 - Ants 蚂蚁

Poj - 1085 - Ants 题目地址 http://poj.org/problem?id=1852 原文地址 https://bafanglvren.ink/chapter1/Ants.html 题目 Description An army of ants walk on a horizontal pole of length l cm, each with a constant speed of 1 cm/s. When a walking ant reaches an end of the po

Oct_Traveler的博客 172

【POJ】1852 Ants

Ants Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 28001 Accepted: 10860 Description An army of ants walk on a horizontal pole of length l cm, each with a constant speed of 1 cm...

(。◕‿◕。) 281
上一篇: 大数据基础知识集合(二)
下一篇: 大数据基础知识集合(三)
Yolo_Fs
博客等级 码龄9年 41粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值