第34次CCF-CSP認證真題解析(目標300分做法)

第34次CCF-CSP認證

  • 矩陣重塑(其一)
  • AC代碼及解析
  • 矩陣重塑(其二)
  • AC代碼及解析
  • 貨物調度
  • AC代碼及解析

矩陣重塑(其一)

在這里插入圖片描述

輸入輸出及樣例:

在這里插入圖片描述

AC代碼及解析

  • 1.線性化原矩陣 :由于cin的特性我們直接把給定的矩陣按照題目的意思轉換成一維數組即可

  • 2.填充新矩陣 :然后對于新的矩陣 我們只需要按照新的規模p*q重新排版即可

#include <bits/stdc++.h>
using namespace std;
int n,m,p,q;
const int N=1e4+10;
int a[N];
int main(){cin>>n>>m>>p>>q;for(int i=0;i<n*m;i++) cin>>a[i];int index=0;for(int i=0;i<p;i++){for(int j=0;j<q;j++){cout<<a[index]<<' ';index++;}cout<<endl;}return 0;
}

矩陣重塑(其二)

在這里插入圖片描述

輸入輸出及樣例:

在這里插入圖片描述

AC代碼及解析

基本思路:受到第一題啟發 我們可以將這個二維矩陣轉化成一維數組的形式
對于這三種操作:

  • 1.重塑
  • 我們對應一維數組中的元素是不變的 只需要將改變之后的矩陣規格更新一下 也就是n=a m=b
  • 2.轉置
  • 也就是行列互換 具體來說就是 原來重塑的時候 我們是如何找到矩陣上的元素對應數組的下標
    比如說(1,2)
    我們就用【(當前行 1 乘以矩陣的列數 m )+ 2 】得到對應數組S的下標
    而現在轉置之后 行和列的地位互換
    是不是就是 【(用當前列 2 乘以矩陣的行數 n)+1 】這樣一個一個計算 得到對應 轉置之后新的數組SS 之后再交換我們行和列的數值 這樣就完成了一次轉置操作
  • 3.查詢對應位置上的元素
    直接輸出對應數組元素就好
#include <bits/stdc++.h>
using namespace std;
const int N=1e4+10;
int n,m,t;
int op,a,b;//這是操作格式
int s[N];//將重塑前的M轉化為一維數組
int tmp[N];
int main()
{cin>>n>>m>>t;//構造一維數組for(int i=0;i<n*m;i++){cin>>s[i];}//處理每一個查詢while(t--){cin>>op>>a>>b;if(op==1)//進行矩陣的重塑 不論怎么重塑都不會改變其對應一維數組的值的順序//所以只需要更新一下矩陣大小的規模就行{n=a;m=b;}else if(op==2)//進行矩陣的轉置(行列互換){for(int i=0;i<n;i++)//i表示當前行數{for(int j=0;j<m;j++)//j表示當前列數{tmp[j*n+i]=s[i*m+j];//本質上就是行和列的地位互換了 i改成j n改成m}}//更新對應一維數組的值for(int i=0;i<n*m;i++){s[i]=tmp[i];}//更新矩陣規模(本質上就是交換行和列的數值)int tt=n;n=m;m=tt;}else if(op==3)//進行查詢操作(只有查詢操作才需要輸出){cout<<s[a*m+b]<<endl;}}return 0;
}

貨物調度

在這里插入圖片描述

輸入輸出及樣例:

在這里插入圖片描述

AC代碼及解析

寫了一個世紀 結果只能暴力拿30分 道心破碎 雖然感覺這道題滿分解是dp 但是真正寫起來真的真的好困難 連最基本的選擇和狀態都很難確定下來 更別說狀態轉移方程了 哈哈
這里附上大佬解析:文章鏈接

#include<bits/stdc++.h>
using namespace std;
#define ll long longint dp[1005][40010];//前i個倉庫費用j可以獲得的最大總價值
vector<int>a[1005];//第i個倉庫的第j個貨物的價值
int b[1005],c[1005];//倉庫屬性
bool dcmp(int a,int b){return a>b;
}
int main(){int n,m,v;cin>>n>>m>>v;for(int i=0;i<=40000;i++)dp[0][i]=0;for(int i=1;i<=n;i++){cin>>b[i]>>c[i];}for(int i=1;i<=m;i++){int val,t;cin>>val>>t;t++;a[t].push_back(val);}for(int i=1;i<=n;i++){sort(a[i].begin(),a[i].end(),dcmp);}for(int i=1;i<=n;i++){for(int j=0;j<=40000;j++){dp[i][j]=dp[i-1][j];//不選iint sum=0;for(int k=0;k<a[i].size();k++){//選iif(b[i]+c[i]*(k+1)>j)break;sum+=a[i][k];//收益和dp[i][j]=max(dp[i][j],dp[i-1][j-b[i]-c[i]*(k+1)]+sum-b[i]-c[i]*(k+1));}}}int ans;for(int i=0;i<=40000;i++){if(dp[n][i]>=v){ans=i;break;}}cout<<ans;return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/908351.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/908351.shtml
英文地址,請注明出處:http://en.pswp.cn/news/908351.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

智能制造數字孿生全要素交付一張網:智造中樞,孿生領航,共建智造生態共同體

在制造業轉型升級的浪潮中&#xff0c;數字孿生技術正成為推動行業變革的核心引擎。從特斯拉通過數字孿生體實現車輛全生命周期優化&#xff0c;到海爾卡奧斯工業互聯網平臺賦能千行百業&#xff0c;數字孿生技術已從概念驗證走向規模化落地。通過構建覆蓋全國的交付網絡&#…

【技術】跨設備鏈路聚合的技術——M-LAG

原創&#xff1a;廈門微思網絡 M-LAG&#xff08;Multichassis Link Aggregation Group&#xff09;提供一種跨設備鏈路聚合的技術。M-LAG通過將兩臺接入交換機以同一個狀態和用戶側設備或服務器進行跨設備的鏈路聚合&#xff0c;把鏈路的可靠性從單板級提升到設備級。同時&…

AI健康小屋+微高壓氧艙:科技如何重構我們的健康防線?

目前&#xff0c;隨著科技和社會的不斷發展&#xff0c;人們的生活水平和方式有了翻天覆地的變化。 從吃飽穿暖到吃好喝好再到健康生活&#xff0c;觀念也在逐漸發生改變。 尤其是在21世紀&#xff0c;大家對健康越來越重視&#xff0c;這就不得不提AI健康小屋和氧艙。 一、A…

Python訓練營---Day44

DAY 44 預訓練模型 知識點回顧&#xff1a; 預訓練的概念常見的分類預訓練模型圖像預訓練模型的發展史預訓練的策略預訓練代碼實戰&#xff1a;resnet18 作業&#xff1a; 嘗試在cifar10對比如下其他的預訓練模型&#xff0c;觀察差異&#xff0c;盡可能和他人選擇的不同嘗試通…

1.文件操作相關的庫

一、filesystem(C17) 和 fstream 1.std::filesystem::path - cppreference.cn - C參考手冊 std::filesystem::path 表示路徑 構造函數&#xff1a; path( string_type&& source, format fmt auto_format ); 可以用string進行構造&#xff0c;也可以用string進行隱式類…

【 java 集合知識 第二篇 】

目錄 1.Map集合 1.1.快速遍歷Map 1.2.HashMap實現原理 1.3.HashMap的擴容機制 1.4.HashMap在多線程下的問題 1.5.解決哈希沖突的方法 1.6.HashMap的put過程 1.7.HashMap的key使用什么類型 1.8.HashMapkey可以為null的原因 1.9.HashMap為什么不采用平衡二叉樹 1.10.Hash…

【Dify 知識庫 API】“根據文本更新文檔” 真的是差異更新嗎?一文講透真實機制!

在使用 Dify 知識庫 API 過程中,很多開發者在調用 /datasets/{dataset_id}/document/update-by-text 接口時,常常會產生一個疑問: ?? 這個接口到底是 “智能差異更新” 還是 “純覆蓋更新”? 網上的資料并不多,很多人根據接口名誤以為是增量更新。今天我結合官方源碼 …

大模型如何革新用戶價值、內容匹配與ROI預估

寫在前面 在數字營銷的戰場上,理解用戶、精準觸達、高效轉化是永恒的追求。傳統方法依賴結構化數據和機器學習模型,在用戶價值評估、人群素材匹配以及策略ROI預估等核心問題上取得了顯著成就。然而,隨著數據維度日益復雜,用戶行為愈發多變,傳統方法也面臨著特征工程繁瑣、…

基于端到端深度學習模型的語音控制人機交互系統

基于端到端深度學習模型的語音控制人機交互系統 摘要 本文設計并實現了一個基于端到端深度學習模型的人機交互系統,通過語音指令控制其他設備的程序運行,并將程序運行結果通過語音合成方式反饋給用戶。系統采用Python語言開發,使用PyTorch框架實現端到端的語音識別(ASR)…

【2025年】解決Burpsuite抓不到https包的問題

環境&#xff1a;windows11 burpsuite:2025.5 在抓取https網站時&#xff0c;burpsuite抓取不到https數據包&#xff0c;只顯示&#xff1a; 解決該問題只需如下三個步驟&#xff1a; 1、瀏覽器中訪問 http://burp 2、下載 CA certificate 證書 3、在設置--隱私與安全--…

Jenkins 工作流程

1. 觸發構建 Jenkins 的工作流程從觸發構建開始。構建可以由以下幾種方式觸發&#xff1a; 代碼提交觸發&#xff1a;通過與版本控制系統&#xff08;如 Git、SVN&#xff09;集成&#xff0c;當代碼倉庫有新的提交時&#xff0c;Jenkins 會自動觸發構建。 定時觸發&#xff…

Jmeter如何進行多服務器遠程測試?

&#x1f345; 點擊文末小卡片 &#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快 JMeter是Apache軟件基金會的開源項目&#xff0c;主要來做功能和性能測試&#xff0c;用Java編寫。 我們一般都會用JMeter在本地進行測試&#xff0c;但是受到…

Kafka入門-生產者

生產者 生產者發送流程&#xff1a; 延遲時間為0ms時&#xff0c;也就意味著每當有數據就會直接發送 異步發送API 異步發送和同步發送的不同在于&#xff1a;異步發送不需要等待結果&#xff0c;同步發送必須等待結果才能進行下一步發送。 普通異步發送 首先導入所需的k…

分類預測 | Matlab實現CNN-LSTM-Attention高光譜數據分類

分類預測 | Matlab實現CNN-LSTM-Attention高光譜數據分類 目錄 分類預測 | Matlab實現CNN-LSTM-Attention高光譜數據分類分類效果功能概述程序設計參考資料 分類效果 功能概述 代碼功能 該MATLAB代碼實現了一個結合CNN、LSTM和注意力機制的高光譜數據分類模型&#xff0c;核心…

gemini和chatgpt數據對比:誰在卷性能、價格和場景?

先把結論“劇透”給趕時間的朋友&#xff1a;頂配 Gemini Ultra/2.5 Pro 在紙面成績上普遍領先&#xff0c;而 ChatGPT 家族&#xff08;GPT-4o / o3 / 4.1&#xff09;則在延遲、生態和穩定性上占優。下面把核心數據拆開講&#xff0c;方便你對號入座。附帶參考來源&#xff0…

代碼訓練LeetCode(23)隨機訪問元素

代碼訓練(23)LeetCode之隨機訪問元素 Author: Once Day Date: 2025年6月5日 漫漫長路&#xff0c;才剛剛開始… 全系列文章可參考專欄: 十年代碼訓練_Once-Day的博客-CSDN博客 參考文章: 380. O(1) 時間插入、刪除和獲取隨機元素 - 力扣&#xff08;LeetCode&#xff09;力…

C++面試5——對象存儲區域詳解

C++對象存儲區域詳解 核心觀點:內存是程序員的戰場,存儲區域決定對象的生殺大權!棧對象自動赴死,堆對象生死由你,全局對象永生不死,常量區對象只讀不滅。 一、四大地域生死簿 棧區(Stack) ? 特點:自動分配釋放,速度極快(類似高鐵進出站) ? 生存期:函數大括號{}就…

STM32 智能小車項目 L298N 電機驅動模塊

今天開始著手做智能小車的項目了 在智能小車或機器人項目中&#xff0c;我們經常會聽到一個詞叫 “H 橋電機驅動”&#xff0c;尤其是常見的 L298N 模塊&#xff0c;就是基于“雙 H 橋”原理設計的。那么&#xff0c;“H 橋”到底是什么&#xff1f;為什么要用“雙 H 橋”來驅動…

python項目如何創建docker環境

這里寫自定義目錄標題 python項目創建docker環境docker配置國內鏡像源構建一個Docker 鏡像驗證鏡像合理的創建標題&#xff0c;有助于目錄的生成如何改變文本的樣式插入鏈接與圖片如何插入一段漂亮的代碼片生成一個適合你的列表創建一個表格設定內容居中、居左、居右SmartyPant…

MySQL-多表關系、多表查詢

一. 一對多(多對一) 1. 例如&#xff1b;一個部門下有多個員工 在數據庫表中多的一方(員工表)、添加字段&#xff0c;來關聯一的一方(部門表)的主鍵 二. 外鍵約束 1.如將部門表的部門直接刪除&#xff0c;然而員工表還存在其部門下的員工&#xff0c;出現了數據的不一致問題&am…