日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

王者荣耀(01背包)

發(fā)布時間:2023/12/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 王者荣耀(01背包) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

鏈接:https://ac.nowcoder.com/acm/contest/318/J
來源:??途W(wǎng)

題目描述
“無論何時何地,都會遵守約定”。“奮力逃吧”?!瓣P于取下敵人性命這件事,也從不失約”。

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

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

注意:對于某個時間段,不管你有沒有修改,必須練完整個時間段長度才能獲得熟練度!

輸入描述:
第一行,三個整數(shù)n,S,T(0<n<=1000,0<S<T<1000)代表n個時間段和你能在[S,T)時間段內(nèi)玩游戲。

接下來n行,每行三個整數(shù)a,b(0<a<b<1000),c(0<c<1e7),用空格分開,代表時間段起始時間[a,b)和可以獲得的熟練度。
輸出描述:
輸出一行,包括一個整數(shù),表示zmx能獲得的最大熟練度。
示例1
輸入
復制
3 1 3
1 3 5
2 4 6
4 7 8
輸出
復制
6
示例2
輸入
復制
5 1 5
1 2 1
2 3 2
1 3 3
3 4 2
3 6 4
輸出
復制
7

題目描述的很牛逼。唉,最后還是沒有想到那一點。。
我們把總的時間容量看成背包,每一個的時間看做體積和重量。典型的01背包。唉
代碼如下:

#include<iostream> #include<cstdio> #include<cstring> #define ll long long using namespace std;const int maxx=1e3+10; ll dp[maxx]; int w[maxx]; int v[maxx]; int n,l,r;int main() {scanf("%d%d%d",&n,&l,&r);ll sum=r-l;for(int i=0;i<n;i++){int s,e;scanf("%d%d%d",&s,&e,&v[i]);w[i]=e-s;}for(int i=0;i<n;i++)for(int j=sum;j>=w[i];j--){dp[j]=max(dp[j],dp[j-w[i]]+v[i]);}cout<<dp[sum]<<endl; }

努力加油a啊,(o)/~

總結(jié)

以上是生活随笔為你收集整理的王者荣耀(01背包)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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