【得物】20250419笔试算法题

文章目录

  • 前言
  • 第一题
    • 1. 题目描述
    • 2. 思路解析
    • 3. AC代码
  • 第二题
    • 1. 题目描述
    • 2. 思路解析
    • 3. AC代码
  • 第三题
    • 1. 题目描述
    • 2. 思路解析
    • 3. AC代码


前言

三道题目都比较简单,大家都可以试着做一下。

第一题

1. 题目描述

题目链接:矩阵变换
在这里插入图片描述

2. 思路解析

按题目要求是要输入多行字符串,但输入归输入,怎么存是我们的事情。
所以我选择把每一行都拼接到一起,形成一个字符串,然后对这一个字符串进行处理。
比如用例输入1中输入
abc
edf
ghi
我选择用string str=abcedfghi
后面输入1 1 1表示移动一个元素,然后输出移动之后处于第一行第一列的字符
移动一个元素之后str变成了bcedfghia,计算一下第一行第一列的字符下标位于str的哪里即可。

这里要提前a%=m*n;,减少计算,比如一共8个元素,要你转移81遍,实际上,移动81遍和移动1遍最后形成的字符串是一样的。

3. AC代码

#include <bits/stdc++.h>
using namespace std;int main(){int n,m,q;cin>>n>>m>>q;string str;for(int i=0;i<n;i++){string tmp;cin>>tmp;str+=tmp;}while(q--){int a,b,c;cin>>a>>b>>c;int sum=0;a%=m*n;string tmp;for(int i=a;i<str.size();i++) tmp+=str[i];for(int i=0;i<a;i++) tmp+=str[i];cout<<tmp[(b-1)*m+c-1]<<endl;}return 0;
}

在这里插入图片描述

第二题

1. 题目描述

题目链接:小牛的数组置零
在这里插入图片描述

2. 思路解析

这里题目的意思就是每次会给定你一个数组,数组里有N个元素,你每次可以同时选任意个数组元素减去2k(k>=0),问你最少的操作多少次,最终使数组中的所有元素都恰好等于0。

这里一看到每次减去2的k次方,我想到了二进制的每一位不就表示2k嘛,比如10用二进制表示就是1010 让10变成0只需要减去一个23和21就行,所以一共需要两次。
那么如果数组中有两个元素10、6呢
我们把是的二进制和6的二进制放一起看看:

1010
0110

我们可以发现在21这一列10和6都是1,所以在删除的时候可以一起删去,但是其其它位置上就不能同时删去了,所以10要单独删一次23、6要单独删一次22,最终一共需要删除3次。

所以我们可以得到规律,我们可以把数组中的数化为二进制,然后全部做或运算,最后统计二进制中1的个数即可。

统计1的个数直接用C++中bitset里的count进行统计即可。

为了防止溢出,我bitset直接设置了32位。

有关与bitset的使用,大家如果不了解,可以去看一下我的这一篇文章:C++ bitset(位图)的介绍和使用

3. AC代码

#include <bits/stdc++.h>
using namespace std;int main(){int t;cin>>t;while(t--){int n;cin>>n;int sum=0;for(int i=0;i<n;i++){int number;cin>>number;sum|=number;}bitset<32> bit(sum);sum=bit.count();cout<<sum<<endl;}return 0;
}

在这里插入图片描述

第三题

1. 题目描述

题目链接:小牛的行列式构造
在这里插入图片描述

2. 思路解析

本题比较简单,就让构造一个三阶矩阵,让矩阵的值算出来是给定的值x即可,我们直接让其对角线是x、1、1其他位置位0,这样矩阵的值就是x11,就是x了。
直接利用cout进行输出即可。

附:

计算方法

对于一个 n × n n \times n n×n 的对角矩阵 A A A,其对角线元素为 a 11 , a 22 , … , a n n a_{11}, a_{22}, \ldots, a_{nn} a11,a22,,ann,则行列式 det ( A ) \text{det}(A) det(A) 为:

det ( A ) = a 11 ⋅ a 22 ⋅ … ⋅ a n n \text{det}(A) = a_{11} \cdot a_{22} \cdot \ldots \cdot a_{nn} det(A)=a11a22ann

例子

假设有一个 3 × 3 3 \times 3 3×3 的对角矩阵 A A A

A = [ 2 0 0 0 3 0 0 0 4 ] A = \begin{bmatrix} 2 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & 4 \end{bmatrix} A= 200030004

计算其行列式:

det ( A ) = 2 × 3 × 4 = 24 \text{det}(A) = 2 \times 3 \times 4 = 24 det(A)=2×3×4=24

总结

  • 对角矩阵的行列式:等于对角线元素的乘积。
  • 计算步骤:将所有对角线元素相乘。

这个方法适用于任意大小的对角矩阵,计算过程简单且高效。

3. AC代码

#include <bits/stdc++.h>using namespace std;int main(){int n;cin>>n;cout<<n<<" 0"<<" 0"<<endl;cout<<"0 "<<"1"<<" 0"<<endl;cout<<"0"<<" 0"<<" 1"<<endl;return 0;
}

在这里插入图片描述

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

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

相关文章

明远智睿2351开发板四核1.4G Linux处理器:驱动创新的引擎

在科技日新月异的今天&#xff0c;创新成为了推动社会进步的核心动力。而在这场创新的浪潮中&#xff0c;一款性能卓越、功能全面的处理器无疑是不可或缺的引擎。今天&#xff0c;我们介绍的这款四核1.4G处理器搭配Linux系统的组合&#xff0c;正是这样一款能够驱动未来创新的强…

Oracle Database Resident Connection Pooling (DRCP) 白皮书阅读笔记

本文为“Extreme Oracle Database Connection Scalability with Database Resident Connection Pooling (DRCP)”的中文翻译加阅读笔记。觉得是重点的就用粗体表示了。 白皮书版本为March 2025, Version 3.3&#xff0c;副标题为&#xff1a;Optimizing Oracle Database resou…

VS Code + GitHub:高效开发工作流指南

目录 一、安装 & 基本配置 1.下载 VS Code 2.安装推荐插件(打开侧边栏 Extensions) 3.设置中文界面(可选) 二、使用 VS Code 操作 Git/GitHub 1.基本 Git 操作(不输命令行!) 2.连接 GitHub(第一次使用) 三、克隆远程仓库到 VS Code 方法一(推荐): 方…

【LLM】llama.cpp:合并 GGUF 模型分片

GGUF&#xff08;GPT-Generated Unified Format&#xff09;是一种专为大规模语言模型设计的二进制文件格式&#xff0c;支持将模型分割成多个分片&#xff08;*-of-*.gguf&#xff09;。当从开源社区&#xff08;如 HuggingFace 或 ModelScope&#xff09;下载量化模型时&…

Ubuntu 系统下安装和使用性能分析工具 perf

在 Ubuntu 系统下安装和使用性能分析工具 perf 的步骤如下&#xff1a; 1. 安装 perf perf 是 Linux 内核的一部分&#xff0c;通常通过安装 linux-tools 包获取&#xff1a; # 更新软件包列表 sudo apt update# 安装 perf&#xff08;根据当前内核版本自动匹配&#xff09; …

Buffer of Thoughts: Thought-Augmented Reasoningwith Large Language Models

CODE: NeurIPS 2024 https://github.com/YangLing0818/buffer-of-thought-llm Abstract 我们介绍了思想缓冲(BoT)&#xff0c;一种新颖而通用的思想增强推理方法&#xff0c;用于提高大型语言模型(大型语言模型)的准确性、效率和鲁棒性。具体来说&#xff0c;我们提出了元缓冲…

Java面试中问单例模式如何回答

1. 什么是单例模式? 单例模式(Singleton Pattern)是一种设计模式,确保某个类在整个应用中只有一个实例,并且提供全局访问点。它有以下特点: 确保只有一个实例。提供全局访问点。防止多次实例化,节约资源。2. 如何实现单例模式? 单例模式有多种实现方式,以下是最常见…

实战华为1:1方式1 to 1 VLAN映射

本文摘自笔者于2024年出版&#xff0c;并得到广泛读者认可&#xff0c;已多次重印的《华为HCIP-Datacom路由交换学习指南》。 华为设备的1 to 1 VLAN映射有1:1和N :1两种方式。1:1方式是将指定的一个用户私网VLAN标签映射为一个公网VLAN标签&#xff0c;是一种一对一的映射关系…

认识Vue

认识Vue 文章目录 认识Vue一、vue是什么二、Vue核心特性数据驱动&#xff08;MVVM)组件化指令系统 三、Vue跟传统开发的区别1. **开发模式&#xff1a;MVVM vs 模板驱动**2. **组件化开发**3. **状态管理**4. **路由管理**5. **构建与工程化**6. **性能优化**7. **学习曲线**8.…

iOS中使用AWS上传zip文件到Minio上的oss平台上

1. 集成AWS相关库&#xff08;千万不要用最新的版本&#xff0c;否则会出现风格化虚拟路径&#xff0c;找不到主机名&#xff09; pod AWSS3, ~> 2.10.0 pod AWSCore, ~> 2.10.0 2. 编写集成的相关代码 - (void)uploadFileToMinIO {NSString *endPoint "http://…

usb2.0的硬件知识(一)

一、USB2.0的硬件知识 1.1 USB2.0速率 USB 2.0协议支持3种速率&#xff1a;低速(Low Speed&#xff0c;1.5Mbps)、全速(Full Speed, 12Mbps)、高速(High Speed, 480Mbps)&#xff1b;USB Hub、USB设备&#xff0c;也分为低速、全速、高速三种类型。 1.2 USB2.0硬件线序组成 U…

植物大战僵尸杂交版v3.6最新版本(附下载链接)

B站游戏作者潜艇伟伟迷于4月19日更新了植物大战僵尸杂交版3.6版本&#xff01;&#xff01;&#xff01;&#xff0c;有b站账户的记得要给作者三连关注一下呀&#xff01; 不多废话下载链接放上&#xff1a; 夸克网盘链接&#xff1a;&#xff1a;https://pan.quark.cn/s/1af9b…

LeadeRobot具身智能应用标杆:无人机X柔韧具身智能,空中精准作业游刃有余

当前,具身智能已成为全球科技领域的前沿焦点,更受到国家战略级重视,吸引科技产业巨头抢滩布局。但同时,具身智能的商业化路径、规模化应用场景、技术成本等难题也开始在资本界与产业圈引起广泛讨论。 目前,万勋科技基于Pliabot 柔韧技术已推出多款具身智能柔韧机器人产品,在柔…

服务器上安装maven

1.安装 下载安装包 https://maven.apache.org/download.cgi 解压安装包 cd /opt/software tar -xzvf apache-maven-3.9.9-bin.tar.gz 安装目录(/opt/maven/) mv /opt/software/apache-maven-3.9.9 /opt/ 3.权限设置 把/opt/software/apache-maven-3.9.9 文件夹重命名为ma…

AI 模型在前端应用中的典型使用场景和限制

典型使用场景 1. 智能表单处理 // 使用TensorFlow.js实现表单自动填充 import * as tf from tensorflow/tfjs; import { loadGraphModel } from tensorflow/tfjs-converter;async function initFormPredictor() {// 加载预训练的表单理解模型const model await loadGraphMod…

10_C++入门案例习题: 结构体案例

案例描述 学校正在做毕设项目&#xff0c;每名老师带领5个学生&#xff0c;总共有3名老师&#xff0c;需求如下 设计学生和老师的结构体&#xff0c;其中在老师的结构体中&#xff0c;有老师姓名和一个存放5名学生的数组作为成员 学生的成员有姓名、考试分数&#xff0c; 创建…

优化提示词方面可以使用的数学方法理论:信息熵,概率论 ,最优化理论

优化提示词方面可以使用的数学方法理论:信息熵,概率论 ,最优化理论 目录 优化提示词方面可以使用的数学方法理论:信息熵,概率论 ,最优化理论信息论信息熵明确问题主题提供具体细节限定回答方向规范语言表达概率论最优化理论信息论 原理:信息论中的熵可以衡量信息的不确定性。…

DB-GPT支持mcp协议配置说明

简介 在 DB-GPT 中使用 MCP&#xff08;Model Context Protocol&#xff09;协议&#xff0c;主要通过配置 MCP 服务器和智能体协作实现外部工具集成与数据交互。 开启mcp服务&#xff0c;这里以网页抓取为例 npx -y supergateway --stdio "uvx mcp-server-fetch" …

2025.4.22学习日记 JavaScript的常用事件

在 JavaScript 里&#xff0c;事件是在文档或者浏览器窗口中发生的特定交互瞬间&#xff0c;例如点击按钮、页面加载完成等等。下面是一些常用的事件以及案例&#xff1a; 1. click 事件 当用户点击元素时触发 const button document.createElement(button); button.textCo…

基于 SpringAI 整合 DeepSeek 模型实现 AI 聊天对话

目录 1、Ollama 的下载配置 与 DeepSeek 的本地部署流程 1.1 下载安装 Ollama 1.2 搜索模型并进行本地部署 2、基于 SpringAI 调用 Ollama 模型 2.1 基于OpenAI 的接口规范&#xff08;其他模型基本遵循&#xff09; 2.2 在 IDEA 中进行创建 SpringAI 项目并调用 DS 模型 3、基…