hitwh 2019 新生赛 G LFhase 与他的学术文章
描述
Dr. LFhase 拥有着强大的学术能力,他看起文章来是无穷无尽的,但是由于文章之间的灌水太过于严重,有时候他也会失去兴趣。
现在,Dr. LFhase 又开始了新一天的研究,他从导师布置的某一篇文章开始,每次选择一篇能从当前文章延展到的新文章继续阅读(当前文章可以延展到的文章不一定能延展到当前文章),只有读到了会使他失去兴趣的文章,他才会选择停止(也可以选择不停止)。
现在给定了文章之间的延展关系和每篇文章的价值,请你帮助 LFhase 选择他今天文章的阅读顺序,使他收获的价值最大,求出他可以收获价值的最大值。
LFhase 相信温故知新,所以他愿意反复阅读文章,但是一篇文章的价值只能获得一次。
例如,假设有6篇文章,文章之间的延展情况如下图所示:
导师布置的文章的编号为 1,由符号 → 表示,那些会使 LFhase 失去兴趣的文章用双圈来表示。每个文章的价值标在了文章上方。在这个例子中,LFhase 能收获的最大价值为 47,阅读顺序为 1-2-4-1-2-3-5。
输入
第一行包含两个整数 ,\(n,m(1 \le n, m \le 500,000)\),\(n\) 表示文章的数量,\(m\) 表示文章之间的关系的数量。
接下来 \(m\) 行,每行包含两个整数 \(u,v(1 \le u, v \le n)\),第 \(i+1\) 行的两个整数数表示编号为 \(u\) 的文章可以延展到编号为 \(v\) 的文章。
接下来 \(n\) 行,每行包含一个整数 \(a_i(1 \le a_i \le 4,000)\),按顺序表示每篇文章的价值。
接下来一行包含两个整数 \(S,P(1 \le S, P \le n)\)。\(S\) 表示导师布置的文章的编号,也就是开始时读的文章的编号。\(P\) 表示会使他失去兴趣的文章的数量。
接下来 \(P\) 行,每行包含一个整数 \(x(1 \le x \le n)\),\(x\) 表示会使他失去兴趣的文章的编号。
输入数据保证 LFhase 必定可以读到使他失去兴趣的文章。
输出
输出一个整数,表示 LFhase 停止阅读时可以收获文章价值的最大值。
输入样例
6 7
1 2
2 3
3 5
2 4
4 1
2 6
6 5
10
12
8
16
1
5
1 4
4
3
5
6
输出样例
47
备注
数据已经略微加强
信息
- ID
- 1006
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 16
- 已通过
- 3
- 通过率
- 19%
- 上传者