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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

CodeForces 864E Fire dp递推

發(fā)布時(shí)間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CodeForces 864E Fire dp递推 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

CodeForces 864E

題意:有 n 個(gè)物品著火,每個(gè)物品要花 ti 時(shí)間撲滅,且在 >= di 時(shí)間后就會(huì)壞掉,物品價(jià)值為 pi 。 問(wèn)最多可以救回多少價(jià)值,物品個(gè)數(shù),及救哪些物品(要按搶救的順序輸出) 。

tags:

dp[i][j] 表示前 i 個(gè)物品花費(fèi)了 j 時(shí)間最多可以救回多少價(jià)值。

先按 di 排序,轉(zhuǎn)移即:

1】如不取第 i 個(gè)物品: dp[i][j] = max(dp[i][j], dp[i-1][j]) ;

2】 如取第 i 個(gè)物品: dp[i][j] = max(dp[i][j], dp[i-1][j-ti]+pi) 。?

類似于背包, O(100*2000) 。

當(dāng)然,要打印救哪些物品,在轉(zhuǎn)移的時(shí)候加個(gè)記錄就 OK 了。

// 864E #include<bits/stdc++.h> using namespace std; #pragma comment(linker, "/STACK:102400000,102400000") #define rep(i,a,b) for (int i=a; i<=b; ++i) #define per(i,b,a) for (int i=b; i>=a; --i) #define mes(a,b) memset(a,b,sizeof(a)) #define INF 0x3f3f3f3f #define MP make_pair #define PB push_back #define fi first #define se second typedef long long ll; const int N = 105, M = 2005;struct Node {int t, d, p, id;bool friend operator < (Node a, Node b) {return a.d<b.d;} } item[N]; int n, pre[N][M], dp[N][M]; bool vis[N]; int main() {scanf("%d", &n);int mx = 0;rep(i,1,n){scanf("%d%d%d", &item[i].t, &item[i].d, &item[i].p);mx = max(mx, item[i].d);item[i].id = i;}sort(item+1, item+1+n);rep(i,1,n){rep(j,1,mx){if(dp[i][j] <= dp[i-1][j]){dp[i][j] = dp[i-1][j];pre[i][j] = j;}if(j-item[i].t>=0 && j<item[i].d)if(dp[i][j] <= dp[i-1][j-item[i].t]+item[i].p){dp[i][j] = dp[i-1][j-item[i].t]+item[i].p;pre[i][j] = j-item[i].t;}}}int ans1=-1, mj=-1;rep(j,1,mx)if(ans1<dp[n][j])ans1=dp[n][j], mj=j;printf("%d\n", ans1);int ans2=0;per(i,n,1){if(pre[i][mj]!=mj)++ans2, vis[i]=true;mj = pre[i][mj];}printf("%d\n", ans2);rep(i,1,n)if(vis[i])printf("%d ", item[i].id);return 0; }

轉(zhuǎn)載于:https://www.cnblogs.com/sbfhy/p/7659080.html

總結(jié)

以上是生活随笔為你收集整理的CodeForces 864E Fire dp递推的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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