codevs科技莊園

2022-05-03 18:15:07 字數 894 閱讀 9547

/*

因為每一秒只能走乙個單位長度,而每走乙個單位長度又會消耗乙個體力值,如果體力值沒有了時間還有也只能按照體力值計算,反之一樣,所以v對於時間和體力值取小

cnt記錄有桃子的樹的個數,node[cnt].c表示在第cnt顆樹上每次可摘桃子的個數,node[cnt].v表示從起點到第cnt棵樹來回的距離,wz[i][j]表示從(0,0)到(i,j)範圍內樹的個數

node[i]記錄第i棵樹可以摘的次數 dp方程式為ans[j]=max(ans[j],ans[j-k*node[i].v]+k*node[i].c),不摘第j棵樹的第k次與摘了之後獲得的桃子取大

*/#include

#include

#include

using

namespace

std;

#define maxn 1010

struct

noden[maxn*maxn];

intv;

int ans[maxn]=,wz[maxn][maxn];

int cnt=0

,n,m,t,a;

intmain()

}for(int i=1;i<=n;i++)

for(int j=1;j<=m;j++)

for(int i=1;i<=cnt;i++)

for(int j=v;j>=1;j--)

for(int k=1;k<=n[i].k;k++)

if(j-k*n[i].v>=0

) ans[j]=max(ans[j],ans[j-k*n[i].v]+k*n[i].c);

printf("%d

",ans[v]);

return0;

}

科技莊園(動規練習題)

life種了一塊田,裡面種了有一些桃樹。life對pft說 我給你一定的時間去摘桃,你必須在規定的時間之內回到我面前,否則你摘的桃都要歸我吃!pft思考了一會,最終答應了!由於pft的數學不好!它並不知道怎樣才能在規定的時間獲得最大的價值,由於pft不是機械人,所以他的體力並不是無限的,他不想摘很多...

SSL P1558 科技莊園

求在限定時間和體力內,可以拿到的最大值。多重揹包 明顯 但有兩個條件,看似很煩,但只要我們留意題目 每次的代價都是一樣的 乙個單位 那麼我們只要求出他們其中最小的那個,將其用在迴圈條件即可。當然,題目還有乙個細節 ta不想體力值為0,那我們就提前將體力值 1,避免以後的操作。include incl...

SSL 1558科技莊園

time limit 1000ms memory limit 65536k life是河北衡水中學的學生,他是乙個道德極高的學生,他積極貫徹黨的十七大精神,積極走可持續發展道路,在他的不屑努力下校領導終於決定讓他在衡中的一片閒雜地里種桃,以親身實踐種田的樂趣,厲行節約,告訴人們節約的重要性!春華秋實...