U716075

BY 的抓颓计划 (BY's Slacker Purge Plan)

省选/NOI−

题目背景

继 PJY 在一场极其危险的博弈中落网后,严厉的 BY 老师把 PJY 给制裁了,并顺藤摸瓜,挖掘出了隐藏在班级底层的庞大“颓废联盟”网络! 为了彻底肃清班风,将这股不正之风连根拔起,BY 决定联合同为老师的 SD,开展一场名为“双线抓颓”的清剿行动。 而这场行动的起点,正是罪恶的源头——PJY 的座位!

题目描述

班级里共有 NN 名同学(编号 1∼N1 \sim N),每个人都有一个“颓废值” WiW_i。PJY 的编号为 SS。 颓废联盟内部有一套隐秘的传阅网络,由 MM 条单向传播途径构成。一条从 uu 到 vv 的有向边,意味着如果查到了同学 uu,BY 就可以顺着线索立刻查到同学 vv。

这群学生非常狡猾,他们的传播网络中可能存在环(互相包庇)。也就是说,如果 BY 发现了一群互相传阅形成环的学生,只要顺藤摸瓜抓到其中一个,就可以把这个环里(以及环能相互到达)的所有学生一网打尽。

现在,BY 和 SD 两位老师将同时从 PJY 的座位(节点 SS)出发,顺着传播网络(有向边)进行抓捕。

  • 他们可以分开行动,走两条不同的路径,以覆盖更多的学生。
  • 只要某名同学被 BY 或者 SD 抓到(或者因为同伙被抓而被一网打尽),老师们就能缴获他的颓废值 WiW_i。
  • 注意:如果一名同学被两位老师都抓到了,他的颓废值只能计算一次(即不重复计算)。

请你帮 BY 老师计算出,在最优的双线抓捕路线下,他们最多能缴获多少总颓废值?

输入格式

第一行包含三个整数 N,M,SN, M, S,分别表示同学总数、单向传播途径的数量,以及起点 PJY 的编号。 第二行包含 NN 个整数 W1,W2,…,WNW_1, W_2, \dots, W_N,表示每名同学的颓废值。 接下来 MM 行,每行包含两个整数 u,vu, v,表示存在一条从 uu 到 vv 的单向传播途径。

输出格式

输出一个整数,表示两位老师最多能缴获的总颓废值。

输入输出样例

输入样例 #1

text
6 7 1
10 20 30 40 50 60
1 2
2 3
3 1
1 4
4 5
1 6
6 5

输出样例 #1

text
210

说明/提示

起点 S=1S = 1。 节点 1,2,31, 2, 3 构成了一个强连通分量(环)。只要到达其中任意一个,就能把 1,2,31, 2, 3 全部抓住,缴获 10+20+30=6010 + 20 + 30 = 60。 此时相当于两位老师都站在了这个巨大的“颓废窝点”上。 随后,BY 老师可以选择路线 1→4→51 \to 4 \to 5,抓获节点 4 和 5,额外缴获 40+50=9040 + 50 = 90。 MS 老师可以选择路线 1→6→51 \to 6 \to 5,抓获节点 6 和 5,额外缴获 60+50=11060 + 50 = 110。 节点 5 被两人同时抓到,只能计算一次(50)。 最终两人联合抓捕的节点集合为 {1,2,3,4,5,6}\{1, 2, 3, 4, 5, 6\},总颓废值为 10+20+30+40+50+60=21010+20+30+40+50+60 = 210。

数据规模与约定

Subtask分数N≤N \leM≤M \le特殊性质
0101015153030无
13030200020001000010000保证给定的图是一个 DAG(无环)
26060200020001000010000无

🚀 提交评测

登录并绑定洛谷账号后即可在此在线提交代码并实时评测。

前往登录

💡 题解 (0)

登录后即可撰写并分享您的解题思路。

暂无题解,快来发布全站第一篇题解吧!

💬 题目讨论 (0)

登录后可以发起或参与讨论。

暂无讨论内容。

📊 题目信息

题号U716075
难度省选/NOI−
时间限制1000 ms
内存限制256 MB
题目来源洛谷题库
算法标签
动态规划 DP拓扑排序强连通分量

⚡ 快速操作

在线提交代码在洛谷打开原题 ↗