单色三角形问题结论

来源:互联网 发布:ad线路板画图软件 编辑:程序博客网 时间:2024/05/17 01:42

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

分析:如果直接找需要枚举所有的三个点的组合,有C(n,3)种组合,当n比较大的时候,需要枚举的组合很多,复杂度为O(n3);但是在遍历每个点的时候都可以枚举颜色不同的两条边。则每个点上不同的颜色的三角形有R*B,R为红色边的个数,B为黑色边的个数。所有点上的不同颜色边组之和为Q,则总共有C(n,3)-Q/2(容斥)种相同颜色的边。时间复杂度变为了O(n)

对于n点染m色能够出现同色三角形的问题:

可知:3点染1色可出现同色三角形  

  r1 = 3 

  6点染2色可出现同色三角形

  r2 = 6

         17点染3色可出现同色三角形

          r3 = 17

        ...................

可知:rn = n*(rn-1 - 1)+2;满足次关系式时可出现同色三角形,其中rn为点的个数,n个颜色种数



0 0
原创粉丝点击