藍橋杯備賽-精衛填海-DP

精衛終于快把東海填平了!只剩下了最后的一小片區域了。同時,西山上的木石也已經不多了。精衛能把東海填平嗎?
事實上,東海未填平的區域還需要至少體積為?v?的木石才可以填平,而西山上的木石還剩下?n?塊,每塊的體積和把它銜到東海需要的體力分別為?k?和?m。精衛已經填海填了這么長時間了,她也很累了,她還剩下的體力為?c。

輸入格式

輸入文件的第一行是三個整數:v,n,c。從第二行到第?n+1?行分別為每塊木石的體積和把它銜到東海需要的體力。

輸出格式

輸出文件只有一行,如果精衛能把東海填平,則輸出她把東海填平后剩下的最大的體力,否則輸出?Impossible(不帶引號)。

輸入輸出樣例

輸入?

100 2 10
50 5
50 5

輸出?

0

輸入?

10 2 1
50 5
10 2

輸出?

Impossible

說明/提示

數據范圍及約定

  • 對于?20%?的數據,0<n≤50;
  • 對于?50%?的數據,0<n≤1000;
  • 對于?100%?的數據,0<n≤104,所有讀入的數均屬于?[0,104],最后答案不大于?c。
//精衛填海,8/10,2個超內存
#include<iostream>
#include<stdio.h>
#include<vector>
using namespace std;
int main(){int v, n, c;cin >> v >> n >> c;//需要的體積,石頭的數量,目前的體力值int k[100000];//體積int m[100000];//體力//或//vector<int> k(n + 1); // 體積//vector<int> m(n + 1); // 體力for (int i = 1; i <= n; i++){cin >> k[i] >> m[i];}vector<vector<int>> a(n + 1,vector<int>(v+1,0));//用i個石頭填滿j體積,需要的最少體力//必要:初始化一個很大的數表示不可能,用零塊填滿是不可能的,所有初始化最大。下面條件判斷用的是min,如果不初始化最大,那么后面一直都是for (int i = 0; i < v + 1; i++)a[0][i] = 100000;//不必要:a[i][0]是0或100000不影響結果/*for (int i = 0; i < n + 1; i++)a[i][0] = 100000;*/for (int i = 1; i <= n; i++) {for (int j = 1; j <= v; j++) {//動態規劃的核心:保持j的不變if (k[i]>=j) //一個石頭就能填滿{a[i][j] = min(a[i - 1][j], m[i]);//不放、只放一個、全放(舍)}else //一個石頭填不滿{a[i][j] = min(a[i - 1][j - k[i]]+m[i], a[i - 1][j]);//放、不放}}}if (a[n][v]>c)cout << "Impossible";elsecout << c-a[n][v];//注意用c-,不要忘記了return 0;
}

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

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

相關文章

2025面試Go真題第一場

前幾天參加了一場面試&#xff0c;GoLang 后端工程師&#xff0c;他們直接給了我 10 道題&#xff0c;我留了一個截圖。 在看答案之前&#xff0c;你可以先簡單做一下&#xff0c;下面我會對每個題目做一個說明。 文章目錄 1、golang map 是否并發安全?2、協程泄漏的原因可能是…

JavaScript 簡單類型與復雜類型-堆和棧

深入理解JavaScript中的簡單類型&#xff08;基本數據類型&#xff09;與復雜類型&#xff08;引用數據類型&#xff09;如何在內存中存儲對于編寫高效、無誤的代碼至關重要。本文將探討這兩種類型的差異&#xff0c;以及它們在內存中的存儲機制——棧&#xff08;Stack&#x…

騰訊SQL面試題解析:如何找出連續5天漲幅超過5%的股票

騰訊SQL面試題解析:如何找出連續5天漲幅超過5%的股票 作者:某七年數據開發工程師 | 2025年02月23日 關鍵詞:SQL窗口函數、連續問題、股票分析、騰訊面試題 一、問題背景與難點拆解 在股票量化分析場景中,"連續N天滿足條件"是高頻面試題類型。本題要求在單表stoc…

圖像處理、數據挖掘、數據呈現

目錄 圖像處理方法 閾值分割 圖像處理方法 圖像平滑 圖像銳化 圖像增強 閾值分割 邊緣檢測 閾值分割 特征提取 提取邊界 區域提取 主成分壓縮 POI 多源數據 數據挖掘 多源數據提取 關聯度提取 位置集群&#xff0c; 新聞事件&#xff0c; 權限 個人喜好 歷史…

嵌入式項目:STM32刷卡指紋智能門禁系統

本文詳細介紹基于STM32的刷卡指紋智能門禁系統。 獲取資料/指導答疑/技術交流/選題/幫助&#xff0c;請點鏈接&#xff1a; https://gitee.com/zengzhaorong/share_contact/blob/master/stm32.txt 1 系統功能 1.1 功能概述 本系統由STM32硬件端&#xff08;下位機&#xff09;…

計算機畢業設計 ——jspssm504springboot 職稱評審管理系統

作者&#xff1a;程序媛9688 開發技術&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等。 &#x1f31f;文末獲取源碼數據庫&#x1f31f; 感興趣的可以先收藏起來&#xff0c;還有大家在畢設選題&#xff08;免費咨詢指導選題&#xff09;&#xf…

安裝VM和Centos

安裝VM 一、打開虛擬機 二、選擇典型 三、選擇光盤 四、指定虛擬機位置 五、設置磁盤大小并拆分為多個文件 六、完成 安裝Centos 一、上述過程完成后我們直接打開虛擬機 二、語言選擇中文 三&#xff0c;默認安裝位置并點擊完成 四、點擊開始安裝 五、點擊設置密碼 等待安裝…

【AI應用】數字人涉及的一些主要 AI 技術

【AI論文解讀】【AI知識點】【AI小項目】【AI戰略思考】【AI日記】【讀書與思考】【AI應用】 在 數字人搭建 過程中&#xff0c;涉及多個 AI 技術&#xff0c;包括 訓練微調、算法、圖像合成、聲音克隆&#xff0c;每個部分都決定了最終效果的真實度、交互流暢度和個性化能力。…

【嘗試使用python調用Seismic unix】

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、代碼總結 前言 提示&#xff1a;這里可以添加本文要記錄的大概內容&#xff1a; 使用seismic unix嘗試建立界面&#xff0c;首先想到使用pyqt&#xff0c…

【安裝及調試舊版Chrome + 多版本環境測試全攻略】

&#x1f468;&#x1f4bb; 安裝及調試舊版Chrome 多版本環境測試全攻略 &#x1f310; &#xff08;新手友好版 | 覆蓋安裝/運行/調試全流程&#xff09; &#x1f570;? 【背景篇】為什么我們需要舊版瀏覽器測試&#xff1f; &#x1f30d; &#x1f310; 瀏覽器世界的“…

2. EXCEL中函數和公式《AI賦能Excel》

歡迎來到滔滔講AI。今天我們來學習和討論下函數和公式是什么&#xff0c;以及它們之間的區別。 點擊圖片查看視頻 2、AI賦能EXCEL-函數和公式 一、什么是函數 首先&#xff0c;我們來了解一下函數。函數是Excel中預定義的計算工具&#xff0c;能夠幫助我們快速進行各種計算。 …

Python常見面試題的詳解16

1. 如何強行關閉客戶端和服務器之間的連接&#xff1f; 在網絡編程中&#xff0c;有時需要強行中斷客戶端和服務器之間的連接。對于基于 TCP 協議的連接&#xff0c;由于其面向連接的特性&#xff0c;需要采取特定的步驟來確保連接被正確關閉&#xff1b;而 UDP 是無連接協議&a…

【深度學習】矩陣的核心問題解析

一、基礎問題 1. 如何實現兩個矩陣的乘法&#xff1f; 問題描述&#xff1a;給定兩個矩陣 A A A和 B B B&#xff0c;編寫代碼實現矩陣乘法。 解法&#xff1a; 使用三重循環實現標準矩陣乘法。 或者使用 NumPy 的 dot 方法進行高效計算。 def matrix_multiply(A, B):m, n …

在CentOS 7下部署NFS的詳細教程

在CentOS 7下部署NFS的詳細教程 NFS&#xff08;Network File System&#xff09;是一種分布式文件系統協議&#xff0c;允許用戶在網絡中的不同主機之間共享文件和目錄。NFS廣泛應用于Linux和Unix系統中&#xff0c;特別適合在集群環境中共享存儲資源。本文將詳細介紹如何在C…

js中的await與async的使用

以下兩個方法&#xff0c;區別只在有沒有catch&#xff0c;使用的時候卻要注意 // 封裝請求方法&#xff0c;同步loading狀態出去 export const fetchWithLoading async (fn: Function, params: any, loading: Ref) > {loading.value true;try {return await fn(params);…

Ubuntu服務器 /data 盤需要手動掛載的解決方案

服務器 /data 盤需要手動掛載的解決方案 如果重啟服務器后&#xff0c;發現 /data 盤 沒有自動掛載&#xff0c;通常是因為&#xff1a; /etc/fstab 配置文件 沒有正確設置 自動掛載。該磁盤 沒有被正確識別&#xff0c;需要手動掛載。文件系統錯誤 導致掛載失敗。 下面是解…

輸入搜索、分組展示選項、下拉選取,全局跳轉頁,el-select 實現 —— 后端數據處理代碼,拋磚引玉展思路

詳細前端代碼寫于上一篇&#xff1a;輸入搜索、分組展示選項、下拉選取&#xff0c;el-select 實現&#xff1a;即輸入關鍵字檢索&#xff0c;返回分組選項&#xff0c;選取跳轉到相應內容頁 —— VUE項目-全局模糊檢索 【效果圖】&#xff1a;分組展示選項 >【去界面操作體…

【SpringBoot】_統一功能處理:統一數據返回格式

目錄 1. 對所有返回類型方法進行統一數據返回類型處理 2. 部分返回類型方法存在的問題 3. 對兩種有誤的方法進行處理 仍以圖書管理系統為例。 創建Result對后端返回給前端的數據進行封裝&#xff0c;增加業務狀態碼與錯誤信息&#xff0c;將原本的數據作為data部分&#xff…

智能交通系統(Intelligent Transportation Systems):智慧城市中的交通革新

智能交通系統&#xff08;Intelligent Transportation Systems, ITS&#xff09;是利用先進的信息技術、通信技術、傳感技術、計算機技術以及自動化技術等&#xff0c;來提升交通系統效率和安全性的一種交通管理方式。ITS通過收集和分析交通數據&#xff0c;智能化地調度、控制…

Unity百游修煉(1)——FootBall詳細制作全流程

一、引言 游玩測試&#xff1a; Football 游玩測試 1.項目背景與動機 背景&#xff1a;在學習 Unity 的過程中&#xff0c;希望通過實際項目來鞏固所學知識&#xff0c;同時出于對休閑小游戲的喜愛&#xff0c;決定開發一款簡單有趣的小游戲加深自己的所學知識點。 動機&#…