題目:釣魚
題意:剛開始沒讀懂……
就是說有一排魚塘(i~n),每乙個魚塘初始魚的數量為fi,在這個魚塘中每釣5分鐘魚的數量都會減少di,且從第i個魚塘走到第i+1個魚塘要用ti的時間。
問從第乙個魚塘開始走,到任意乙個魚塘結束,最多可以獲得的魚的數量。
思路:%%% luogu大佬 超神火星人 的部落格
列舉最後最哪兒結束,對於這一段魚塘[1,m],由於釣魚的順序並不影響最終結果,所以不往回走是最優的。
那麼就可以先把總時間減去路上的時間,注意減完後時間有可能為負。
然後剩下的時間每一秒都選擇釣的魚最多的魚塘釣,用優先佇列(大根堆)維護。
**:
#includeusing namespace std;
#define maxn 25
struct pl
return s;
}void readin()
for(int i=1;i<=n;i++)
ans=slv(1);
for(int i=1;i}int main()
洛谷P1717 釣魚
同步 話說發源於小朋友精心設計的遊戲被電腦組的童鞋們藐殺之後非常不爽,為了表示安慰和鼓勵,vip999 決定請他吃一次 年年大豐收 為了表示誠意,他還決定親自去釣魚。但是,因為還要準備 noip2013,z老師只給了他 hhh 個小時的空餘時間,假設有 nnn 個魚塘都在一條水平路邊,從左邊到右編號...
洛谷P1717 釣魚
題目大意 給定 n 個位置,每個位置有乙個答案貢獻值,在乙個位置加了一次該位置的答案貢獻值之後,該值會減掉一部分,從乙個位置移動到另乙個位置需要花費一定的時間,問 給定 m 單位的時間,如何移動使得答案貢獻值最大。初始在1位置 題解 引理 若想使答案貢獻值最大,一定不能走回頭路,因為走回頭路時,可以...
洛谷 P1717 釣魚
話說發源於小朋友精心設計的遊戲被電腦組的童鞋們藐殺之後非常不爽,為了表示安慰和鼓勵,vip999決定請他吃一次 年年大豐收 為了表示誠意,他還決定親自去釣魚,但是,因為還要準備2013noip,z老師只給了他h 1 h 16 個小時的空餘時間,假設有n 2 n 25 個魚塘都在一條水平路邊,從左邊到...