P5441

sqrtqwq發表於2024-07-06

P5441 & blog

神仙題目。

tips:後面把 \(4\) 個點說成一個組。


我們先考慮一個組怎麼連才不是強聯通的。

  1. 一個點 A 向另外三個點 BCD 連一條有向邊。

  2. 在不滿足第一種的情況下,BCD 向另一個點 A 連一條有向邊。

  3. AB 之間連有向邊,CD 之間連無向邊,然後 AC 和 AD 連一條有向邊,BC 和 BD 也連一條有向邊。

以上的三種情況沒有重疊,可以覆蓋所有非強連通組。

接下來我們只需要最小化這一些組數即可。

第一中:

假如第 \(i\) 個點的出度為 \(d_i\),那麼這個點是第一個條件中的 A 的情況數為 \(C^3_{d_i}\)

所以第一類總數為 \(\sum_{i = 1}^n C^3_{d_i}\)。並且 \(\sum_{i = 1}^n d_i = n \times \dfrac{n - 3}{2}\)

又因為 \(C_x^3 = x(x - 1)(x - 2)\),所以在 \(x \ge 3\) 的情況下是個凸函式,那麼:

\[\sum^n_{i = 1} C^3_{d_i} \ge n \times C^3_{\frac{n - 3}{2}} \]

\(d_1 = d_2 = d_3 = \cdots \cdots = d_n\) 時,等號成立。所以最小值就是當 \(d_1 = d_2 = d_3 = \cdots \cdots = d_n = \dfrac{n - 3}{2}\) 時的答案。

所以第一組的總和為 \(n \times C^3_{\frac{n - 3}{2}} = \dfrac{n(n - 3)(n - 5)(n - 7)}{48} = \dfrac{n(n - 3)(n ^ 2 + 6 \times n - 31)}{48}\)

第二和第三種:

這組透過構造可以是答案變為 \(0\)。構造方法如下:

首先我們需要滿足第一組的條件,所以每一個點必須連 \(n - 1\) 條邊,而其中有 \(\dfrac{n - 3}{2}\) 的邊都是向外得邊。

從這個點連出的的 \(1\) 到第 \(\dfrac{n - 3}{2}\) 條邊都是從自己出發的有向邊,第 \(\dfrac{n - 1}{2}\) 和第 \(\dfrac{n - 3}{2}\) 條邊是無向邊,其餘的都是到自己的邊。

\(n = 5\) 時,圖長這樣:

這樣子就不能滿足第二和第三種的條件了。所以這兩種的答案為 \(0\)

所以答案為 \(\dfrac{n(n - 3)(n ^ 2 + 6 \times n - 31)}{48}\)

最後給出構造的程式碼:

for(int i = 1;i <= n;i++)
{
	for(int j = i + 1;j <= i + (n + 1) / 2;j++)
	{
		a[i][(j - 1) % n + 1] = 1;
	}
}