当前位置: 首页 > news >正文

洛谷 P1007 独木桥

先来看题:

P1007 独木桥 - 洛谷

思路分析

为什么这样写

题目里每个士兵速度相同且只能向前走,当两人相遇时“互相转身”,这在本质上等价于他们“互相穿过”,只要我们关心的只是离开桥的时间,不关心具体谁先谁后。

因此可以把每个士兵看成独立的:

  • 向左走,离开时间 =x
  • 向右走,离开时间 =L + 1 - x

如何计算

对于每个位置x

  • min(distToLeft, distToRight):表示这个士兵最早可能离开桥的时间
  • max(distToLeft, distToRight):表示这个士兵最晚可能离开桥的时间

然后:

  • 所有士兵最早全部撤离的时间,是这些最优时间中的最大值
  • 所有士兵最晚全部撤离的时间,是这些最差时间中的最大值

所以代码里写:

  • minTime = max(minTime, min(distToLeft, distToRight));
  • maxTime = max(maxTime, max(distToLeft, distToRight));

最后输出minTime maxTime


为什么这样写是正确的

因为:

  • 士兵碰面后转身,不改变“离开桥的时间集合”
  • 只需要考虑每个士兵到两端出口的距离
  • 不需要模拟复杂的碰撞过程

这就是为什么这个题目可以用简单的max-min逻辑直接求解。

源码部分:

#include <bits/stdc++.h> using namespace std; int main() { int L; if (scanf("%d", &L) != 1) { return 0; } int N; scanf("%d", &N); int minTime = 0; int maxTime = 0; for (int i = 0; i < N; i++) { int x; scanf("%d", &x); int distToLeft = x; int distToRight = L + 1 - x; minTime = max(minTime, min(distToLeft, distToRight)); maxTime = max(maxTime, max(distToLeft, distToRight)); } printf("%d %d\n", minTime, maxTime); return 0; }
http://www.cnnetsun.cn/news/3034282.html

相关文章:

  • Claude Code 上下文分片技巧:突破超长代码库读取限制隐藏方案
  • MyBatis 会话与事务管理深度解析:从 SqlSession 到事务隔离级别的完整指南
  • 【开源】手把手教你搭建本地IT求职面经分享平台 | Next.js + Supabase + Vercel + Cloudflare 全栈项目,国内访问友好,零成本上线
  • 激活函数的发展历程#
  • 询优化器<1>查询重写 / 逻辑优化
  • 整个过程没有引入新的线程
  • XCPC 2026 WEEK 14
  • Java毕设选题推荐:基于 SpringBoot 的剧本杀门店预约管理平台的设计与实现 基于 SpringBoot 的沉浸式剧本杀服务系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 【机器学习入门】从零到一入门机器学习
  • 合租守则第17条
  • 【毕业设计】基于 SpringBoot 的便民医疗咨询服务平台的设计与实现 基于 SpringBoot 的医疗知识问答共享平台(源码+文档+远程调试,全bao定制等)
  • Java计算机毕设之基于 Java 的在线医生问诊问答平台的设计与实现 基于 Java 的医疗咨询答疑管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • Java毕设项目:基于 SpringBoot 的分级医疗问答服务管理平台的设计与实现 基于 SpringBoot 的医疗科普问答互动系统 (源码+文档,讲解、调试运行,定制等)
  • ECC安装与配置:把 Claude Code 装进一个能稳定发挥的 Harness
  • list列表常用的方法(python)
  • 复杂遮挡与动态干扰场景下跨镜轨迹智能补链与 ID 稳定技术
  • 2026年6月最新|苏州SEO/GEO优化公司推荐|7家本地服务商测评对比
  • 非煤矿山用工规范大限将至,无人驾驶矿卡迎来政策强驱动
  • Claude 桌面版深度使用技巧指南
  • 【Claude】Usage credits required for 1M context 报错已解决
  • 华为OD机试2025C卷-相对开音节[100分]( Java _ Python3 _ C++ _ C语言 _ JsNode _ Go)实现100%通过率
  • 【前端分享】封神级React图片预览组件!7KB超轻量,手势/动画/自定义全拿捏!
  • PEO10500-b-PMMA18000聚氧乙烯-b-聚甲基丙烯酸甲酯PEO-PMMA
  • 探秘大模型训练数据:Claude、ChatGPT 等的数据从何而来?能否实现公平交易?
  • WordPress+WooCommerce大型商城解决方案
  • A.每日一题:1344. 时钟指针的夹角
  • 【2026】超详细中望CAD机械版2026安装保姆级教程,永久免费使用,机械设计环境配置指南,看完这一篇就够了
  • 冯·诺依曼结构和哈佛结构
  • 激光焊接不只是替掉了钎焊——它正在重新定义液冷板能长什么样
  • TensorFlow 学习