時間限制:
2000 ms | 記憶體限制:
65535 kb
難度:3 描述
ltl非常喜歡玩warcraft,因為warcraft十分講究團隊整體實力,而他自己現在也為公升級而不拖累團隊而努力。
他現在有很多個地點來選擇去刷怪公升級,但是在每乙個地點他都要買上充足的補給和合適的道具,以免在刷怪的時候被怪物反殺了,每乙個地點的怪物打完了就沒有了(還居然不掉金錢跟裝備),而且他只要選定了地點就一定會刷完該地點全部的怪物,同時獲得對應的經驗值。現在ltl能給出每乙個地點用來買補給和道具的錢和打完全部怪物所能獲得的經驗,但是他所擁有的錢是一定的。所以他想知道怎麼選擇地點使得他獲得的經驗最高。
輸入
第一行乙個整數t,表示測試資料的組數 0輸出
一行乙個整數,表示ltl能夠獲取的最大的經驗值
樣例輸入
23 10
7 72 3
3 52 5
3 52 1
樣例輸出
max experience: 12max experience: 6
讀完題,立馬斷定01揹包問題,然後直接寫**,不幸的是,tle不期而至!
超時**:
#includestruct node
num[105];
int dp[1000005];
int max(int a,int b)
int main()
} printf("max experience: %d\n",dp[m]);
} return 0;
}
以下為優化**:
#includestruct node
num[105];
int dp[1000005];
int max(int a,int b)
int main()
} printf("max experience: %d\n",dp[m]);
} return 0;
}
UOJ 654 蟲洞問題
現在有n 1 n 500 個點,m 1 m 2500 條邊 雙向 代表現在可以走的通路,比如從a到b和從b到a需要花費c時間,現在在地上出現了w 1 w 200 個蟲洞 單向 蟲洞的意義就是你從a到b話費的時間是 c 時間倒流,並且蟲洞是單向的 現在問你從某個點開始走,能否回到從前。第一行乙個整數f...
WOJ 654 遞推 矩陣快速冪
654.a math problem time limit 1000 ms mem.limit 524288 kib io stdio given a number nn n,you should calculate 123456 11121314 n123456 ldots 11121314 ld...
654 最大二叉樹
給定乙個不含重複元素的整數陣列。乙個以此陣列構建的最大二叉樹定義如下 二叉樹的根是陣列中的最大元素。左子樹是通過陣列中最大值左邊部分構造出的最大二叉樹。右子樹是通過陣列中最大值右邊部分構造出的最大二叉樹。通過給定的陣列構建最大二叉樹,並且輸出這個樹的根節點。example 1 輸入 3,2,1,6,...