设f[i]为杀死i的最小代价,显然\( f[i]=min(k[i],s[i]+\sum f[to]) \)
但是这个东西有后效性,所以我们使用spfa来做,具体就是每更新一个f[i],就把能被它更新的点重新入队

#include<iostream>
#include<cstdio>
#include<vector>
#include<queue>
using namespace std;
const int N=200005;
int n,r[N],h[N],cnt;
long long s[N],f[N];
bool v[N];
vector<int>p[N];
struct qwe
{int ne,to;
}e[N*5];
long long read()
{long long r=0,f=1;char p=getchar();while(p>'9'||p<'0'){if(p=='-')f=-1;p=getchar();}while(p>='0'&&p<='9'){r=r*10+p-48;p=getchar();}return r*f;
}
void add(int u,int v)
{cnt++;e[cnt].ne=h[u];e[cnt].to=v;h[u]=cnt;
}
int main()
{n=read();for(int i=1;i<=n;i++){s[i]=read(),f[i]=read(),r[i]=read();for(int j=1;j<=r[i];j++){int x=read();add(i,x);p[x].push_back(i);}}queue<int>q;for(int i=1;i<=n;i++)q.push(i),v[i]=1;while(!q.empty()){int u=q.front();q.pop();v[u]=0;long long nw=s[u];for(int i=h[u];i;i=e[i].ne)nw+=f[e[i].to];if(nw>f[u])continue;f[u]=nw;for(int i=0;i<p[u].size();i++)if(!v[p[u][i]]){v[p[u][i]]=1;q.push(p[u][i]);}}printf("%lld\n",f[1]);return 0;
}

转载于:https://www.cnblogs.com/lokiii/p/9617193.html

bzoj 3875: [Ahoi2014Jsoi2014]骑士游戏【dp+spfa】相关推荐

  1. BZOJ 3875: [Ahoi2014Jsoi2014]骑士游戏 dp spfa

    3875: [Ahoi2014&Jsoi2014]骑士游戏 Time Limit: 30 Sec  Memory Limit: 256 MB Submit: 933  Solved: 475 ...

  2. BZOJ 3875 Ahoi2014 骑士游戏

    3875: [Ahoi2014]骑士游戏 Time Limit: 30 Sec  Memory Limit: 256 MB Description [故事背景] 长期的宅男生活中,JYY又挖掘出了一款 ...

  3. BZOJ 3875 Ahoi2014 骑士游戏 SPFA

    题目大意:给定n个怪物,每个怪物可以用魔法直接干掉,或者用物理攻击使其分裂为一些其他怪物,求杀掉1号怪物的最小花销 令f[i]为杀死i号怪物的最小花销,则f[i]=min(k[i],s[i]+Σf[j ...

  4. bzoj3875: [Ahoi2014Jsoi2014]骑士游戏(spfa+dp)

    传送门 题意简述: n n n个怪物,对于编号为 i i i的怪物可以选择用 a i a_i ai​代价将其分裂成另外的 b i b_i bi​个怪物或者用 c i c_i ci​代价直接消灭它,现在 ...

  5. [Ahoi2014Jsoi2014]骑士游戏(SPFA)

    Description [故事背景] 长期的宅男生活中,JYY又挖掘出了一款RPG游戏.在这个游戏中JYY会 扮演一个英勇的骑士,用他手中的长剑去杀死入侵村庄的怪兽. [问题描述] 在这个游戏中,JY ...

  6. 3875: [Ahoi2014]骑士游戏

    3875: [Ahoi2014]骑士游戏 Time Limit: 30 Sec  Memory Limit: 256 MB Submit: 599  Solved: 319 [Submit][Stat ...

  7. 【BZOJ3875】[Ahoi2014Jsoi2014]骑士游戏 SPFA优化DP

    [BZOJ3875][Ahoi2014&Jsoi2014]骑士游戏 Description [故事背景] 长期的宅男生活中,JYY又挖掘出了一款RPG游戏.在这个游戏中JYY会扮演一个英勇的骑 ...

  8. bzoj3875: [Ahoi2014Jsoi2014]骑士游戏 spfa处理有后效性动规

    bzoj3875: [Ahoi2014&Jsoi2014]骑士游戏 Description [故事背景] 长期的宅男生活中,JYY又挖掘出了一款RPG游戏.在这个游戏中JYY会 扮演一个英勇的 ...

  9. bzoj3875 [Ahoi2014Jsoi2014]骑士游戏

    Description 长期的宅男生活中, JYYJYY 又挖掘出了一款 RPGRPG 游戏.在这个游戏中 JYYJYY 会扮演一个英勇的骑士,用他手中的长剑去杀死入侵村庄的怪兽. 在这个游戏中, J ...

最新文章

  1. centos 7下独立的python 2.7环境安装
  2. Windows 10系统重装U盘启动工具制作方法实例演示,windows11镜像下载地址
  3. 160个Crackme032用ProcessMonitor拆解KeyFile保护
  4. python注释可以辅助程序调试吗_Python 注释
  5. 使用一个命令执行单个Java源文件
  6. 【Go学习笔记2】go语言中的基本数据类型和包的介绍(一)
  7. Consul在.Net Core中初体验
  8. 服务器体系(SMP, NUMA, MPP)与共享存储器架构(UMA和NUMA)
  9. 手机号码归属地查询练习
  10. 内存条带宽的换算方法以及DDR4内存理论带宽
  11. NLP Lemmatisation(词性还原) 和 Stemming(词干提取) NLTK pos_tag word_tokenize
  12. Install: pymongo
  13. php和mysql关于ip段查询
  14. 脱虚向实,数说故事联合中山大学正式启动“AI虚拟偶像”研究计划
  15. 复旦大学硕士盲审 计算机学院,上海市硕士论文盲审 复旦大学论文抽检、盲审工作的通知...
  16. 成功解决failed: The TLS connection was non-properly terminated
  17. uni-app服务器端搭建
  18. 康德、孔子和休谟的对话
  19. 【实际操作】DenseFusion复现过程详解-YCB-Video数据集
  20. 计算机网络之面试常考--整理来自牛客网

热门文章

  1. 关于IOS给我的启发
  2. Python自定义函数的创建、调用和函数的参数详解
  3. 视频直播技术详解(2)采集
  4. 石头剪刀布 手势识别
  5. 洛谷 1541 乌龟棋
  6. JS函数表达式——函数递归、闭包
  7. My97 DatePicker日历控件在火狐或IE下打不开
  8. Mysql连接数据库的操作
  9. asp.net实现下载
  10. Struts2+JSON特别让人恶心的一个问题