思路详解:
结论:如果满足: s i + s j ≥ i × j × c s_i+ s_j \ge i \times j \times c si+sj≥i×j×c,即 ( i , j ) (i, j) (i,j) 能连一条边,那么 ( i , 1 ) (i, 1) (i,1) 或这 ( j , 1 ) (j, 1) (j,1) 中必有一个能连边。否则的话一定不成立。
证明:
s
[
i
]
+
s
[
j
]
>
=
i
×
j
×
c
s
[
i
]
+
s
[
1
]
<
i
×
c
s
[
j
]
+
s
[
1
]
<
j
×
c
s
[
i
]
+
s
[
j
]
+
s
[
1
]
×
2
<
(
i
+
j
)
×
c
矛盾。
s[i] + s[j] >= i \times j \times c\\ s[i] + s[1] < i \times c\\ s[j] + s[1] < j \times c\\ s[i] + s[j] + s[1] \times 2 < (i + j) \times c\\ 矛盾。
s[i]+s[j]>=i×j×cs[i]+s[1]<i×cs[j]+s[1]<j×cs[i]+s[j]+s[1]×2<(i+j)×c矛盾。
按照 v a l u e − c × i d value - c \times id value−c×id 的顺序排序,最后判断是否可行即可。