日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

【牛客 - 318J】王者荣耀(dp,01背包)

發(fā)布時(shí)間:2023/12/10 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【牛客 - 318J】王者荣耀(dp,01背包) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題干:

"無論何時(shí)何地,都會(huì)遵守約定"。"奮力逃吧"。"關(guān)于取下敵人性命這件事,也從不失約"。

小懶蟲zmx平時(shí)最喜歡玩的游戲就是《王者榮耀》,在這款游戲中它也最喜歡百里守約這個(gè)英雄。最近,zmx準(zhǔn)備沖國(guó)服百里,所以它開始練英雄,你有很多個(gè)時(shí)間段來練習(xí)英雄,每個(gè)時(shí)間段有一個(gè)開始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn),以及可以獲得的熟練度。不過現(xiàn)在你可以隨意修改任意練習(xí)時(shí)間段的開始和結(jié)束時(shí)間點(diǎn),但是你不能修改時(shí)間段的長(zhǎng)度和獲得的熟練度!由于要學(xué)習(xí),你只能在固定時(shí)間段玩游戲,問你最多可以獲得多少熟練度?

例如:你可以把[2,3),修改為[1,2)或者[3,4)等等,他們的長(zhǎng)度都是1。

注意:對(duì)于某個(gè)時(shí)間段,不管你有沒有修改,必須練完整個(gè)時(shí)間段長(zhǎng)度才能獲得熟練度!

輸入描述:

第一行,三個(gè)整數(shù)n,S,T(0<n<=1000,0<S<T<1000)代表n個(gè)時(shí)間段和你能在[S,T)時(shí)間段內(nèi)玩游戲。接下來n行,每行三個(gè)整數(shù)a,b(0<a<b<1000),c(0<c<1e7),用空格分開,代表時(shí)間段起始時(shí)間[a,b)和可以獲得的熟練度。

輸出描述:

輸出一行,包括一個(gè)整數(shù),表示zmx能獲得的最大熟練度。

示例1

輸入

復(fù)制

3 1 3 1 3 5 2 4 6 4 7 8

輸出

復(fù)制

6

示例2

輸入

復(fù)制

5 1 5 1 2 1 2 3 2 1 3 3 3 4 2 3 6 4

輸出

復(fù)制

7

解題報(bào)告:

可以看出,出這題的思路是,把數(shù)值加法看做區(qū)間的覆蓋,于是背包問題就可以變形成一個(gè)區(qū)間問題了。

看出來之后就是一個(gè)裸的01背包,背包的大小為T-S。
第 i 個(gè)時(shí)間段可以看成一個(gè)物品,這個(gè)物品的體積w[i]=b[i]-a[i],價(jià)值v[i] 為熟練度c。
那么dp[i][j]就表示著在前 i 個(gè)時(shí)間段里花費(fèi) j 的時(shí)間練英雄能得到的最大熟練度。?

注意longlong,,2333

AC代碼:

#include<cstdio> #include<iostream> #include<algorithm> #include<queue> #include<map> #include<vector> #include<set> #include<string> #include<cmath> #include<cstring> #define ll long long #define pb push_back #define pm make_pair #define fi first #define se second using namespace std; const int MAX = 2e5 + 5; ll dp[2002]; int w[2002],v[2002]; int main() {int n,s,t;cin>>n>>s>>t;int V = t-s;for(int x,y,c,i = 1; i<=n; i++) {cin>>x>>y>>c;w[i] = y-x;v[i] = c;}for(int i = 1; i<=n; i++) {for(int j = V; j>=w[i]; j--) {dp[j] = max(dp[j],dp[j-w[i]]+v[i]);}}printf("%lld\n",dp[V]);return 0 ;}

?

總結(jié)

以上是生活随笔為你收集整理的【牛客 - 318J】王者荣耀(dp,01背包)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。