题目名称 3174. 激突冲击
输入输出 gin.in/out
难度等级 ★★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 11
题目来源 Gravatar瑆の時間~無盡輪迴·林蔭 于2019-06-15加入
开放分组 全部用户
提交状态
分类标签
强连通分量
分享题解
通过:9, 提交:13, 通过率:69.23%
Gravatar┭┮﹏┭┮ 100 0.123 s 10.86 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 100 0.158 s 10.97 MiB C++
GravatarLovely_Xianshen 100 0.165 s 20.81 MiB C++
Gravatar梦那边的美好ET 100 0.188 s 26.25 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 100 0.225 s 8.34 MiB C++
GravatarHale 100 0.281 s 20.82 MiB C++
Gravatarkal0rona 100 0.286 s 135.28 MiB C++
GravatarFrom 100 0.289 s 19.86 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 100 0.438 s 21.20 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 90 0.390 s 8.85 MiB C++
关于 激突冲击 的近10条评论(全部评论)
Hint:用tarjan,不要用SPFA。
我:我不听我不听,我就跑SPFA+差分约束
GravatarLovely_Xianshen
2019-10-04 09:57 2楼
小房子,你觉得HS会怼你吗?(HS辣么强,跟我黄笑凡有什么关系?)
Gravatar梦那边的美好ET
2019-06-15 16:58 1楼

3174. 激突冲击

★★★☆   输入文件:gin.in   输出文件:gin.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

布基纳法索空军最近在瓦加杜古上空18000米处发现了一艘残破的航天母舰,在经过精细的搜查之后,布基纳法索空军发现这架空母上的大多数武器装置仍处于工作状态!如果让其启动,那么整个国家甚至周边地区都有可能遭受灭顶之灾!所幸整架空母之上的唯一一位幸存者——一位自称HS的神奇生物在见到布基纳法索空军之后告诉空军们关闭武器系统的方式——把船拆了。可是由于HS的身体构造过于神奇,被布基纳法索国家医院征用去做活体解剖了,空军战士们只能自行拆船。

研究发现,空母由$N$个子舱室和$M$个活塞组成,只要按照正确的方式推动活塞,舱室就会自动解体。但是要推动活塞需要在活塞相连的两个舱室分别施加一定的力(别问我为什么不能只推一个)并且两个力之间有一定约束关系。综上,布基纳法索空军决定在每个舱室上放一定量的炸药,用冲击力推动活塞。

下面给出舱室间推力关系$(T,A,B)$:

$T=1$代表A舱与B舱推力相等;

$T=2$代表A舱推力小于B舱;

$T=3$代表A舱推力不小于B舱;

$T=4$代表A舱推力大于B舱;

$T=5$代表A舱推力不大于B舱。

由于炸药用量和所产生推力成正比,因此上述关系可视为在各舱室放置炸药数量的关系。

为了尽可能的减少炸药的用量,你需要求出整个爆破过程炸药的消耗总量(其中最少的舱室放置1单位的炸药,各舱室炸药量为整单位),如果不可能完成任务,输出-1。

【输入格式】

第一行两个正整数$N,M(N,M\leq 10^5)$。

下面$M$行,每行描述一组$(T,A,B)$关系

【输出格式】

整个爆破过程炸药的消耗总量,如果不可能完成任务,输出-1。

【样例输入】

5 7
1 1 2
2 3 2
4 4 1
3 4 5
5 4 5
2 3 5
4 5 1

【样例输出】

11

【来源】

改编自SCOI2011