bzoj3875: [Ahoi2014&Jsoi2014]騎士遊戲(spfa+Dp)
題目傳送門
。
解法:
一開始想到spfa。
連向他殺死後產生的怪獸。表示普通攻擊
連向ed表示法術攻擊殺死的。
那麼很顯然最短路是不行的。那麼就gg了。。
做法蠻神的。
反向連:產生的怪獸連向原怪獸。
那麼F[i]表示消滅怪獸i的最小值
那麼顯然等於min(Ki,F[j]的和) 【不想用數學符號系列】
那麼可以進行Dp。
f[i]表示上一次i在佇列裡的答案。
那麼更新完一遍後答案位當前F[i],兩個答案有個差值f[i]-F[i]。
那麼與i相連的每一個怪獸的答案都應該-這個差值因為消滅i更優了。
最後輸出F[1]即可
程式碼實現:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
typedef long long ll;
struct node {int x,y,next;}a[1110000];int len,last[210000];
void ins(int x,int y) {len++;a[len].x=x;a[len].y=y;a[len].next=last[x];last[x]=len;}
int head,tail,list[210000],n;ll p[210000],P[210000],f[210000],F[210000],ff[210000];bool v[210000];
queue<int> q;
int main() {
scanf("%d",&n);len=0;memset(last,0,sizeof(last));head=1;tail=1;memset(list,0,sizeof(list));memset(v,true,sizeof(v));
for(int i=1;i<=n;i++) {
scanf("%lld%lld",&p[i],&f[i]);int k;scanf("%d",&k);q.push(i);v[i]=true;ff[i]=f[i];P[i]=p[i];
for(int j=1;j<=k;j++) {int x;scanf("%d",&x);ins(x,i);}
}
for(int x=1;x<=n;x++) {
for(int k=last[x];k;k=a[k].next) {
int y=a[k].y;P[y]+=ff[x];
}
}for(int i=1;i<=n;i++) F[i]=min(ff[i],P[i]);
while(!q.empty()) {
int x=q.front();q.pop();v[x]=false;
if(F[x]==f[x])continue;
for(int k=last[x];k;k=a[k].next) {
int y=a[k].y;P[y]+=F[x]-f[x];F[y]=min(P[y],ff[y]);
if(F[y]<f[y]&&v[y]==false) {v[y]=true;q.push(y);}
}f[x]=F[x];
}printf("%lld\n",F[1]);
return 0;
}
相關文章
- 《鏟子騎士》:“復古遊戲”的集大成者遊戲
- 《形骸騎士》入圍indie prize 角逐獨立遊戲奧斯卡遊戲
- 鏟子騎士:2D遊戲,3D引擎打造遊戲3D
- 《空洞騎士》關卡設計解析
- 以圓桌騎士為例淺嘗HTML5遊戲開發HTML遊戲開發
- 轉載一個快速的騎士周遊程式
- 《形骸騎士》,一款融合彈幕、Furry等多要素Roguelite動作遊戲遊戲
- 國產手繪動作遊戲《形骸騎士》 眾籌金額300%達成遊戲
- 《爐石傳說》高勝率的平民騎士卡組分享
- 《狂暴騎士》“獎勵回收”:遊戲設計易放難收,收得不好就會爆炸遊戲設計
- 白虎雙子陷危機 橫版動作遊戲《形骸騎士》Steam版今日發售遊戲
- 騰訊投資《傳送門騎士》開發商Keen GamesGAM
- 析電子遊戲《空洞騎士》場景切換時的音樂音響處理遊戲
- 漫威劇集《月光騎士》先導預告片釋出
- 異界騎士鏈遊開發NFT系統技術
- 蝙蝠俠阿甘騎士取消Mac/Linux版開發MacLinux
- 《空洞騎士》:我們為什麼深愛這款玩起來看著像是自虐的遊戲遊戲
- 用Unity重現《空洞騎士》的苦痛之路(4)——特效篇Unity特效
- 獨立精品《郵差騎士》7月10日安卓首發安卓
- 《骷髏騎士:重製版》如何實現經典原作的初衷?
- 用Unity重現《空洞騎士》的苦痛之路(1):動作篇Unity
- 用Unity重現《空洞騎士》的苦痛之路(3)——地圖篇Unity地圖
- 用Unity重現《空洞騎士》的苦痛之路(2)——人物控制篇Unity
- 怎麼修復網站漏洞騎士cms的漏洞修復方案網站
- 30分鐘簡易復刻《元氣騎士》地圖生成系統地圖
- AI訓練的空洞騎士能打敗大黃蜂小姐姐嗎?AI
- 萬字長文乾貨分享:類《空洞騎士》關卡設計研究
- 拋棄「肉鴿」轉投「暗黑Like」,《元氣騎士新作》成色幾何?
- 外星騎士NFT卡牌鏈遊系統技術開發詳情
- 如何在阿里雲以外的伺服器上安裝安騎士阿里伺服器
- 攝像機?信標?深入解讀《元氣騎士》的視野機制
- abc145D 騎士走棋盤到達目的地的方案數
- 一個看似不起眼的市場,卻孕育出了空洞騎士、無題大鵝和Florence等創意遊戲遊戲
- 淺談《刺客信條》的敘事:刺客和聖殿騎士的衝突與融合
- 隨機的細胞騎士——《死亡細胞》Rougelike隨機性思路的得與失隨機
- 恆訊科技帶大家認識:中國雲端計算市場的“四大騎士”
- App Annie 8月指數:《塗鴉騎士3D版》空降下載榜榜首APP3D
- 三消霸主轉行? King旗下策略動作RPG新作《狂暴騎士》有點上頭