洛谷P1717 釣魚

2022-05-20 14:09:59 字數 597 閱讀 1916

題目大意:給定 n 個位置,每個位置有乙個答案貢獻值,在乙個位置加了一次該位置的答案貢獻值之後,該值會減掉一部分,從乙個位置移動到另乙個位置需要花費一定的時間,問:給定 m 單位的時間,如何移動使得答案貢獻值最大。(初始在1位置)

題解:引理:若想使答案貢獻值最大,一定不能走回頭路,因為走回頭路時,可以在之前那個位置時就加一次答案貢獻值,這樣不會使結果更糟,證畢。

再考慮乙個更簡單的問題,即:沒有移動的時間花費,那麼就可以直接貪心,每次選序列中最大的數即可。因此,根據引理,可以列舉最遠能夠到達的位置,在開始時直接減掉從起點到該位置所有的跑路時間,把問題轉化為沒有移動的時間花費,直接貪心出答案,並更新最優解即可。

**如下

#include using namespace std;

typedef pairp;

const int maxn=30;

int n,h,ans,f[maxn],d[maxn],t[maxn];

void read_and_parse()

ans=max(ans,tot);

} printf("%d\n",ans);

}int main()

洛谷 P1717 釣魚

題目 釣魚 題意 剛開始沒讀懂 就是說有一排魚塘 i n 每乙個魚塘初始魚的數量為fi,在這個魚塘中每釣5分鐘魚的數量都會減少di,且從第i個魚塘走到第i 1個魚塘要用ti的時間。問從第乙個魚塘開始走,到任意乙個魚塘結束,最多可以獲得的魚的數量。思路 luogu大佬 超神火星人 的部落格 列舉最後最...

洛谷P1717 釣魚

同步 話說發源於小朋友精心設計的遊戲被電腦組的童鞋們藐殺之後非常不爽,為了表示安慰和鼓勵,vip999 決定請他吃一次 年年大豐收 為了表示誠意,他還決定親自去釣魚。但是,因為還要準備 noip2013,z老師只給了他 hhh 個小時的空餘時間,假設有 nnn 個魚塘都在一條水平路邊,從左邊到右編號...

洛谷 P1717 釣魚

話說發源於小朋友精心設計的遊戲被電腦組的童鞋們藐殺之後非常不爽,為了表示安慰和鼓勵,vip999決定請他吃一次 年年大豐收 為了表示誠意,他還決定親自去釣魚,但是,因為還要準備2013noip,z老師只給了他h 1 h 16 個小時的空餘時間,假設有n 2 n 25 個魚塘都在一條水平路邊,從左邊到...