題目鏈結
題目大意:給定n個怪物,每個怪物可以用魔法直接乾掉,或者用物理攻擊使其**為一些其他怪物,求殺掉1號怪物的最小花銷題解
:f[i
]表示殺
死i號怪
物的最小
花銷,則
f[i]
=min
(k[i
],s[
i]+σ
f[j]
)其中j
為i用物
理攻擊後
可以**
為的怪物
但是直接dp有後效性,因此我們用spfa來跑這個dp即可
每更新乙個點a的動規值,就會有若干個點的動規值可能被更新,即可以**出點a的那些點。於是a出隊後一旦動規值被更新了,就把那些點入隊。
初始時要把所有點入隊
我不知道這個怎麼保證複雜度,十分玄學
我的收穫:spfa處理有後效性dp
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int m=200005;
bool vis[m];
int n,t,r,x,head[m];
long
long f[m],s[m],k[m];
vector
pre[m];
queue
q;struct edgee[m*5];
void add(int u,int v)
void spfa()
}void work()
void init()
}int main()
bzoj 3875 Ahoi2014 騎士遊戲
故事背景 長期的宅男生活中,jyy又挖掘出了一款rpg遊戲。在這個遊戲中jyy會 扮演乙個英勇的騎士,用他手中的長劍去殺死入侵村莊的怪獸。問題描述 在這個遊戲中,jyy一共有兩種攻擊方式,一種是普通攻擊,一種是法術攻 擊。兩種攻擊方式都會消耗jyy一些體力。採用普通攻擊進攻怪獸並不能把怪獸徹底殺死,...
bzoj3875 Ahoi2014 騎士遊戲
易水人去,明月如霜。故事背景 長期的宅男生活中,jyy又挖掘出了一款rpg遊戲。在這個遊戲中jyy會 扮演乙個英勇的騎士,用他手中的長劍去殺死入侵村莊的怪獸。問題描述 在這個遊戲中,jyy一共有兩種攻擊方式,一種是普通攻擊,一種是法術攻 擊。兩種攻擊方式都會消耗jyy一些體力。採用普通攻擊進攻怪獸並...
AHOI2014 騎士遊戲
故事背景 長期的宅男生活中,jyy又挖掘出了一款rpg遊戲。在這個遊戲中jyy會 扮演乙個英勇的騎士,用他手中的長劍去殺死入侵村莊的怪獸。問題描述 在這個遊戲中,jyy一共有兩種攻擊方式,一種是普通攻擊,一種是法術攻 擊。兩種攻擊方式都會消耗jyy一些體力。採用普通攻擊進攻怪獸並不能把怪獸徹底殺死,...