单色三角形问题

空间里有n个点,任意三点不共线。每两个点之间都用红色或者黑色线段链接。如果一个三角形的三条边同色,责成这个三角形是单色三角形。对于给定的红色线段列表,找出单色三角形的个数。

 

1,如果直接找需要枚举所有的三个点的组合,有C(n,3)种组合,当n比较大的时候,需要枚举的组合很多,复杂度为O(n3);

2,但是在遍历每个点的时候都可以枚举颜色不同的两条边。则每个点上不同的颜色的三角形有R*B,R为红色边的个数,B为黑色边的个数。所有点上的不同颜色边组之和为Q,则总共有C(n,3)-Q/2种相同颜色的边。时间复杂度变为了O(n)

 

本文在草稿箱放了n久,忘了

代码略

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值