ZOJ 3332 Strange Country II

原本自己用dfs水过了这题,但后来看了别人的题解后发现,原来这题还大有名堂:竞赛图。

竞赛图就是任意两点之间有且仅有一条有向边的图, 可以证明竞赛图一定存在哈密尔顿道路。

证明如下:

假设节点V0....Vk存在哈密尔顿道路,则添加节点Vk+1时有以下三种情况:

(1)Vk+1到V0存在有向边,则把Vk+1插到V0的前面,此时仍存在哈密尔顿道路

(2)Vk到Vk+1存在有向边,则把Vk+1放到Vk的后面,此时仍存在哈密尔顿道路

(3)如果前面两种情况都不满足,则从0...k之间,肯定存在一个节点K,使得Vi到Vk+1存在有向边,且Vk+1到Vi+1存在有向边,此时将Vk+1插到Vi和Vi+1之间,容易证明此时仍然存在哈密尔顿道路

 

细心的同学会发现这跟链表很相似,所以代码就很容易敲出来了。

 

 

同样地,也附上我用暴力过的代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值