P1616 瘋狂的采藥(洛谷,動態規劃遞推,完全背包)

先上題目鏈接:P1616 瘋狂的采藥

然后放AC代碼:

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll f[100010];
ll timee[10010];
ll w[10010];
int main()
{ll t,m;cin>>t>>m;//t總時間,m總草藥//time時間,w價值for(ll i=1;i<=m;i++){scanf("%lld",&timee[i]);scanf("%lld",&w[i]);}for(ll i=1;i<=m;i++)for(ll j=timee[i];j<=t;j++){f[j]=max(f[j],f[j-timee[i]]+w[i]);}cout<<f[t]<<endl;
}
瘋狂的采藥

然后推薦一道類似的題目:采藥

不同點在與這題是完全背包,采藥那題是01背包,

還有就是瘋狂的采藥數據比較大,建議用滾動數組,如果用二維數組不知道會不會不行,我沒試過.

然后講一下思路:

假定你已經學過滾動數組01背包了,那么這題就很簡單了,相對于普通的01背包來說,如果用滾動數組的話,

對于for的第二維也就是代表剩余空間那一維是從大到小遍歷的,這樣就能防止每個物品放了超過一次以上,

也就是新數據覆蓋舊數據后在這次循環中新數據不會被再覆蓋,放在實際層面就是一個物品只能被放一次

?

如果現在把for的第二維也就是代表剩余空間那一維是從小到大遍歷,那么新數據也可能被覆蓋,也就是一個物品放了后還可能接著放,

這樣一來就從01背包轉移到完全背包了

?

至于能用滾動數組的原因是第i層只和第i-1層有關

?

轉載于:https://www.cnblogs.com/zyacmer/p/9987032.html

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

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

相關文章

MySQL通過source命令執行sql文件

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 IT人員經常會和MySQL打交道&#xff0c;備份和恢復應該是最常用的操作了&#xff0c;那么通過直接執行sql文件無疑是最快捷的方式&#x…

Android系統中通過shell命令實現wifi的連接控制

簡介 工作中遇到一個“變態”的需求&#xff0c;在android系統中不通過java層控制wifi的連接&#xff08;主要是修改ap的essid和password&#xff09;&#xff0c;而是需要通過native層實現對wifi的控制。 How 接到這個需求時&#xff0c;第一個想法是如何找到Android nativ…

程序員賺大錢

本文共分三部分&#xff0c;現在打開的是《第一部分》&#xff0c;歡迎繼續閱讀《第二部分》和《第三部分》1 引子 都說海闊憑魚躍&#xff0c;又有多少魚能躍出大海&#xff1f;都說天高任鳥飛&#xff0c;但真正能一飛沖天的&#xff0c;也不過是寥寥數鷹而已&#xff1b;在…

MySQL索引底層實現原理

索引的本質 MySQL官方對索引的定義為&#xff1a;索引&#xff08;Index&#xff09;是幫助MySQL高效獲取數據的數據結構。提取句子主干&#xff0c;就可以得到索引的本質&#xff1a;索引是數據結構。 我們知道&#xff0c;數據庫查詢是數據庫的最主要功能之一。我們都希望查詢…

解決 A component required a bean of ‘XXX.RoleService‘ that could not be found.

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 springboot工程啟動報錯&#xff0c;無法啟動成功。 dubbo訂閱服務失敗&#xff0c;提示如下&#xff1a; 出錯原因&#xff1a;唉&…

開源個小工具simple-repo

背景 了解android系統的都應該熟悉repo這個工具&#xff0c;google為了方便管理數百個git倉庫&#xff0c;開發了repo這個批量管理工具。不過google repo project配置比較麻煩&#xff0c;而通過gitbucket搭建git server則比較傻瓜&#xff0c;所以此處開發了simple-repo這么一…

配合OAuth2進行單設備登錄攔截

2019獨角獸企業重金招聘Python工程師標準>>> 要進行單設備登錄&#xff0c;在其他地點登錄后&#xff0c;本地的其他操作會被攔截返回登錄界面。 原理就在于要在登錄時在redis中存儲Session,進行操作時要進行Session的比對。 具體實現&#xff0c;假設我們的OAuth 2…

朱大鳴:中國金融危機到底有多嚴重

我們到底該不該救助金融機構&#xff0c;中國鈔票到底有沒有超發&#xff0c;對于這個問題&#xff0c;央行行長周小川日前撰文全面為之辯護&#xff1a;對于第一個問題&#xff0c;他的觀點是金融業出現了問題就必須救&#xff0c;否則意味著集體的失靈甚至死亡&#xff1b;中…

C++知識點(六)數組、指針與字符串導學

1.數組 地址連續存放初始化&#xff1a;列出全部初始值后&#xff0c;第1維下標個數可以省略不做初始化&#xff0c;局部變量中為垃圾數據&#xff0c;static變量為0只對一部分進行初始化&#xff0c;其余數值初始化為02.動態內存分配&#xff1a; new delete 3.動態創建數組 n…

Android應用開發—知識點匯總

獲取Fragment的context&#xff1a; getActivity().getApplicationContext()或者getActivity()You can use getActivity(), which returns the activity associated with a fragment.The activity is a context (since Activity extends Context).設置TextView的顏色setTextCol…

條件渲染vue

v-if:只渲染一次的情況下&#xff0c;性能更好v-show:頻繁切換性能更好 vue虛擬DOM技術 瀏覽器&#xff1a;渲染引擎&#xff08;慢&#xff09;JS引擎&#xff08;快&#xff09; 用1個JS對象來充當DOM對象&#xff0c;因為JS對象性能比較快&#xff0c;所以用虛擬DOM對象進行…

錢線觀察:貨幣基金T+0駕到 活期存款將死?

導語&#xff1a;即使沒有任何投資風險&#xff0c;通脹也在侵蝕居民的財富&#xff0c;現金是不安全的。最近出現的一項業務&#xff0c;貨幣基金"T0"贖回&#xff0c;意味著貨幣基金可以像活期存款一樣即時取現&#xff0c;而其收益率普遍高于活期存款。因此有人認…

git stash和git stash pop

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 git stash 可用來暫存當前正在進行的工作&#xff0c; 比如想pull 最新代碼&#xff0c; 又不想加新commit&#xff0c; 或者另外一種情…

CentOS 7.0 上安裝和配置 VNC 服務器

作為一個系統管理員&#xff0c;大多數時間是通過網絡管理服務器的。在管理服務器的過程中很少會用到圖形界面&#xff0c;多數情況下我們只是用 SSH 來完成我們的管理任務。在這篇文章里&#xff0c;我們將配置 VNC 來提供一個連接我們 CentOS 7 服務器的方法。VNC 允許我們開…

Android應用開發—TextView的動態創建

動態創建TextView的兩種方式&#xff1a; 下面介紹兩種創建方式&#xff1a; 在drawable里面創建共同依賴的background.xml文件&#xff0c;里面設置shape來設置文本框的一些特殊效果&#xff1a; eg&#xff1a; <?xml version"1.0" encoding"utf-8"…

Mongo DB 簡單搭建和部署

1.先下載源代碼包 官網下載地址&#xff1a;http://www.mongodb.org/downloads 2.解包tar xf mongodb-linux-x86_64-rhel62-3.2.7.tgz 3.把包移動到 /usr/local/mongodb mv mongodb-linux-x86_64-rhel62-3.2.7/ /usr/local/mongodb 指定同一時間最多可開啟的文件數&#xff08…

運算符優先級 必熟記,放到心里

優先級 運算符 名稱或含義 使用形式 結合方向 說明 1 [] 數組下標 數組名[常量表達式] 左到右 () 圓括號 &#xff08;表達式&#xff09;/函數名(形參表) . 成員選擇&#xff08;對象&#xff09; 對象.成員名 -> 成員選擇&#xff08;指針&#xff0…

可持久化平衡樹(FHQ Treap)

兩個最基本的操作 merge合并 split分割 merge 把兩棵treap合并成一棵treap&#xff0c;要滿足T1最大值要比T2最小值小&#xff0c;比較將隨機數值key值更大的作為合并后的根 假設T1作為根節點作為新子樹的根&#xff0c;左子樹不變&#xff0c;右子樹對T1原來的右子樹與T2再遞歸…

Git 分支管理-git stash 和git stash pop

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 合并分支&#xff0c;沖突是難免的&#xff0c;在實際協作開發中我們遇到的情況錯綜復雜&#xff0c;今天就講兩個比較重要的命令使用gi…