【得物】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)=a11??a22???ann?

例子

假設有一個 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= ?200?030?004? ?

計算其行列式:

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.pswp.cn/diannao/80068.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80068.shtml
英文地址,請注明出處:http://en.pswp.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、基…