【寒假每日一题·2024】AcWing 5415. 仓库规划(补)

news2024/10/6 18:20:59

文章目录

  • 一、题目
    • 1、原题链接
    • 2、题目描述
  • 二、解题报告
    • 1、思路分析
    • 2、时间复杂度
    • 3、代码详解

一、题目

1、原题链接

5415. 仓库规划

2、题目描述

在这里插入图片描述
在这里插入图片描述

二、解题报告

1、思路分析

思路参考y总:y总讲解视频

(1)由于每一个仓库均有一个m维向量的位置编码,所以可以利用一个二维数组来表示n个仓库的m维向量。
(2)由于数据量较小,我们可以枚举每个仓库,然后再枚举所有仓库依次来判断是否可以作为其上级仓库,此时要注意题目中要求:若有多个满足的上级仓库,取编号最小的一个。我们可以通过编号从小到大枚举到满足条件的上级仓库直接跳出循环(break);或者只有当编号小于当前已保存答案的值时才更新答案
(3)根据(2)中得到的仓库编号,依据题目要求输出即可。

2、时间复杂度

时间复杂度为O(n2m)

3、代码详解

#include <iostream>
using namespace std;
const int N = 1010, M = 15;
int a[N][M];
int ans[N];
int main () {
    int n, m;
    cin >> n >> m;
    for (int i = 0; i < n; i++) {
        ans[i] = N;               //初始化所有仓库的上级仓库编号为一个很大的数
        for (int j = 0; j < m; j ++) {
            cin >> a[i][j];
        }
    }
    for (int i = 0; i < n; i++) {     //枚举每个仓库
        for (int j = 0; j < n; j++) {  //枚举每个仓库,从而来判断是否可作为i的上级仓库
            bool flag = true;          //记录是否满足上级仓库条件
            for (int k = 0; k < m; k++) {   //枚举j仓库的每一维,判断是否严格大于i仓库的每一维
                if (a[i][k] >= a[j][k]) flag =false;
            }
            //在满足上级仓库条件的基础上,取最小的仓库编号
            if (flag && j + 1 < ans[i]) ans[i] = j + 1;
        }
    }
    for (int i = 0; i < n ; i++) {
        if (ans[i] == N) cout << 0 << endl;  //如果ans[i]没有被更新过,说明该仓库不存在上级仓库
        else cout << ans[i] << endl;
    }
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1420061.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哨兵1号回波数据(L0级)提取与SAR成像(全网首发)

本专栏目录:全球SAR卫星大盘点与回波数据处理专栏目录 本文先展示提取出的回波结果,然后使用RD算法进行成像,展示成像结果,最后附上哨兵1号回波提取的MATLAB代码。 1. 回波提取 回波提取得到二维复矩阵数据,对其求模值后绘图如下(横轴为距离向采样点,纵轴为方位向采样…

OR- M440A——固态继电器 SSR光耦,可替代ASSR-4118/ELM440A

OR- M440A 低工作电流 低导通电阻 高隔离电压 400V , 600V 输出耐受电压 工业温度范围&#xff1a;-40 to 85℃ 特征 高输入输出隔离电压 &#xff08; Viso 3&#xff0c;750Vrms &#xff09; 采用 400V 和 600V 负载电压系列 常开信号极点信号投射继电器 低工…

shell文本处理工具-shell三剑客

shell脚本常用基础命令2 shell脚本常用基础命令 shell脚本常用基础命令2一、grep用法二、sed用法2.1p参数 &#xff08;显示&#xff09;n参数&#xff08;只显示处理过的行&#xff09; shell脚本常用基础命令2一、grep用法二、sed用法2.1p参数 &#xff08;显示&#xff09;n…

The Rise and Potential of Large Language Model Based Agents: A Survey 中文翻译

大型语言模型代理的崛起与潜力&#xff1a;综述 摘要 长期以来&#xff0c;人类一直追求与或超越人类水平的人工智能&#xff08;AI&#xff09;&#xff0c;而人工智能代理被视为实现这一目标的有希望的方式。人工智能代理是感知环境、做出决策并采取行动的人工实体。已经有…

postman之接口参数签名(js接口HMAC-SHA256签名)

文章目录 postman之接口参数签名&#xff08;js接口签名&#xff09;一、需求背景二、签名生成规则三、postman js接口签名步骤1. postman设置全局、或环境参数2. 配置Pre-request Scripts脚本 四、Pre-request Scripts脚本 常见工作整理1. js获取unix时间戳2. body json字符串…

LeetCode —— 43. 字符串相乘

&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️…

【AI_Design】Midjourney学习笔记

目录 后缀解析Promot合格使用prompt关键词描述 关键词化合作用关键词网站推荐 联合Chatgpt使用总结 后缀解析 –ar&#xff1a;宽高比设置–c&#xff1a;多样性设置&#xff08;数值0-100&#xff0c;默认值0&#xff09;–s&#xff1a;风格化设置&#xff08;数值0-1000&am…

【C/C++ 06】基数排序

基数排序是桶排序的一种&#xff0c;算法思路为&#xff1a; 利用队列进行数据收发创建一个队列数组&#xff0c;数组大小为10&#xff0c;每个元素都是一个队列&#xff0c;存储取模为1~9的数从低位到高位进行数据收发&#xff0c;完成排序适用于数据位不高的情况&#xff08…

C++入门(一)— 使用VScode开发简介

文章目录 C 介绍C 擅长领域C 程序是如何开发编译器、链接器和库编译预处理编译阶段汇编阶段链接阶段 安装集成开发环境 &#xff08;IDE&#xff09;配置编译器&#xff1a;构建配置配置编译器&#xff1a;编译器扩展配置编译器&#xff1a;警告和错误级别配置编译器&#xff1…

8-小程序数据promise化、共享、分包、自定义tabbar

小程序API Promise化 wx.requet 官网入口 默认情况下&#xff0c;小程序官方异步API都是基于回调函数实现的 wx.request({method: , url: , data: {},header: {content-type: application/json // 默认值},success (res) {console.log(res.data)},fail () {},complete () { }…

CSS之webkit内核中的属性text-stroke

让我为大家介绍一下text-stroke 大家是否想过要弄一个描边过的文字&#xff0c;接下来&#xff0c;text-stroke就可以为你解决 text-stroke是一个复合属性&#xff0c;里面有两个参数&#xff1a;描边的尺寸 描边的颜色 <!DOCTYPE html> <html lang"en">…

20世纪物理学:对宇宙认知的一次巨大飞跃

20世纪物理学&#xff1a;对宇宙认知的一次巨大飞跃 20th Century Physics: A Monumental Leap in Understanding the Universe 在20世纪这个科学大爆发的时代&#xff0c;现代物理学经历了前所未有的飞速发展与变革。这一时期诞生了众多奠基性的理论和杰出的物理学家&#xff…

三、ElasticSearch集群搭建实战

本篇ES集群搭建主要是在Linux VM上&#xff0c;未使用Docker方式, ES版本为7.10 ,选择7.10版本原因可以看往期文章介绍。 一、ElasticSearch集群搭建须知 JVM设置 Elasticsearch是基于Java运行的&#xff0c;es7.10可以使用jdk1.8 ~ jdk11之间的版本&#xff0c;更高版本还没…

Python 手签文字识别

easyocr插件使用 1、上传签字图片&#xff08;图片背景颜色&#xff0c;和图片的大小会影响文字识别准确率&#xff09; 2、服务端代码如下 from flask import Flask, request, Response import easyocr import json from hanziconv import HanziConv reader easyocr.Reade…

PyFlink使用教程,Flink,Python,Java

环境准备 环境要求 Java 11 Python 3.7, 3.8, 3.9 or 3.10文档&#xff1a;https://nightlies.apache.org/flink/flink-docs-release-1.17/zh/docs/dev/python/installation/ 打开 Anaconda3 Prompt > java -version java version "11.0.22" 2024-01-16 LTS J…

探索Pyecharts:绘制多彩日历图的艺术与技巧

Pyecharts绘制多种炫酷日历图参数说明代码实战 导言 在数据可视化领域&#xff0c;日历图是一种直观展示时间和数据关系的方式。Pyecharts是一个基于Echarts的Python库&#xff0c;可以方便地绘制各种图表&#xff0c;包括炫酷的日历图。本篇博客将介绍Pyecharts中绘制多种炫…

AI未来10年展望【2024-2034】

人工智能&#xff08;AI&#xff09;在过去十年中迅速发展&#xff0c;其未来有望取得更加引人注目的发展。 在本文中&#xff0c;我们将探讨人工智能的未来 10 年以及我们对未来十年的期望。 我们将解决一些关键问题&#xff0c;以全面概述人工智能的未来。 NSDT工具推荐&…

17. 使用 tslib 库

17. 使用 tslib 库 1. tslib 简介2. tslib 移植2.1 下载 tslib 源码2.2 编译 tslib 源码2.3 tslib 安装目录下的文件夹介绍2.4 在开发板上测试 tslib 3. tslib 库函数介绍3.1 打开触摸屏设备3.2 配置触摸屏设备3.3 读取触摸屏设备 4. 基于 tslib 编写触摸屏应用程序4.1 单点触摸…

CHS_03.2.3.2_2+进程互斥的硬件实现方法

CHS_03.2.3.2_2进程互斥的硬件实现方法 知识总览中断屏蔽方法TestAndSet指令Swap指令 知识回顾 进程互斥的四种软件实现方法 知识总览 这个小节我们会介绍另外的三种进程互斥的硬件实现方法 那么 这个小节的学习过程当中 大家需要注意理解各个方法的原理 并且要稍微的了解各个…

OpenHarmony RK3568 启动流程优化

目前rk3568的开机时间有21s&#xff0c;统计的是关机后从按下 power 按键到显示锁屏的时间&#xff0c;当对openharmony的系统进行了裁剪子系统&#xff0c;系统app&#xff0c;禁用部分服务后发现开机时间仅仅提高到了20.94s 优化微乎其微。在对init进程的log进行分析并解决其…