题解:ABC277E - Crystal Switches

题解:ABC277E - Crystal Switches

·题目

链接:Atcoder

链接:洛谷

·难度

算法难度:B。

思维难度:A。

调码难度:C。

综合评价:普及+/提高

·算法

宽度优先搜索+拆点思路

·思路

把每个点分为两段,分别是连接着取值为0的边的(A份)和权值为1的边的(B份)。如果一条边权值为0,就把两个点的A份相连,否则把B份相连,如果一个点上有按钮,就把它A份里连接的点和B份连接,B份里连接的点和A份连接,最后按照普通bfs做就能够得出正确答案。

·代价

O(n+m),每个点和每条边分别被遍历到一次。

·细节

拆点用+n来实现。

·代码

AC

·注意

输出-1要特殊判断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值