2017icpc乌鲁木齐网络赛Colored Graph (构造)

题目

  https://nanti.jisuanke.com/t/16958

题意

  给定一个n(n<=500)个点的无向图,给每条边黑白染色,输出同色三角形最少的个数和对应的方案

分析

  首先考虑给定一个染色完毕的无向图,如何求同色三角形的个数

  同色三角形的个数=总的个数-异色三角形的个数

  而一个异色三角形对应两个异色角,所以我们可以通过算异色角的个数来计算异色三角形的个数

  而异色角是有一个固定的点i引出去的n-1条边所决定的

  设某个点i有$x_i$条1边,有$n-1-x_i$条2边

  可以发现异色角的个数是$sum {x_i*(n-1-x_i)}$

  那自然我们希望每个点引出去的1边和2边数量尽可能相同

  对于偶数,可以根据样例的规律构造两个n/2的团,然后对连即可

  对于奇数,发现4k+1的时候边数是偶数,此时可以使得每个点两种颜色边数相同,而4k+3的时候有唯一的一个点不能满足

  关于奇数的构造可以每4个点往上加,构造即可

原文地址:https://www.cnblogs.com/wmrv587/p/7518206.html