P6269 [SHOI2002]空中都市 题解

博客园同步

原题链接

简要题意:

求在 n n 个点中满足每 3 3 个点不两两有边的最多边数。

首先,这题 dp \text{dp} 没有头绪,所以只能手动找规律。

n \texttt{n} 0 0 1 1 2 2 3 3 4 4 5 5 6 6
ans \texttt{ans} 0 0 0 0 1 1 2 2 4 4 6 6 9 9

如果你不明白,这里给出 n > 3 n>3 的所有构造图( n 3 n \leq 3 就不用画图了吧)

n = 4 n=4 时答案为 4 4 :


n = 5 n=5 时答案为 6 6 :

n = 6 n=6 时答案为 9 9 :

所以,我们在看一眼这个表格:

n \texttt{n} 0 0 1 1 2 2 3 3 4 4 5 5 6 6
ans \texttt{ans} 0 0 0 0 1 1 2 2 4 4 6 6 9 9

然后,因为我们觉得可以 O ( 1 ) O(1) 用公式计算,盲猜它次数应该不会超过 4 4 次,所以就假设答案 f x = a x 4 + b x 3 + c x 2 + d x + e f_x = ax^4 + bx^3 + cx^2+dx+ e .

然后得到方程组:

{ a + b + c + d + e = 0 16 a + 8 b + 4 c + 2 d + e = 1 81 a + 27 b + 9 c + 3 d + e = 2 256 a + 64 b + 16 c + 4 d + e = 4 625 a + 125 b + 25 c + 5 d + e = 6 1256 a + 216 b + 36 c + 6 d + e = 9 \begin{cases} a + b + c + d + e = 0 \\ 16a + 8b + 4c + 2d + e = 1 \\ 81a + 27b + 9c + 3d + e = 2 \\ 256a + 64b + 16c + 4d + e = 4 \\ 625a + 125b + 25c + 5d + e = 6 \\ 1256a + 216b + 36c + 6d + e = 9 \end{cases}

(好像还多了一道方程)

你发现答案 近似 为:

{ a = 0 b = 0 c = 1 4 d = 0 e = 0 \begin{cases} a=0 \\ b=0 \\ c=\frac{1}{4} \\ d=0 \\ e=0 \end{cases}

即答案为 ( n 2 4 ) \bigg( \frac{ n^2}{4} \bigg ) .

你整理一下发现,答案其实是:

n 2 4 \bigg \lfloor \frac{n^2}{4} \bigg \rfloor

然后你就用 O ( 1 ) O(1) 解决了问题。

下面给出一个 严谨 一点的解法。

下面资料来自 百度百科——托兰定理

A A N N 个点中,向外连线最多的点,设它向外连 k k 条线,则与 A A 相连的点之间不允许连线

而剩余 N 1 k N-1-k 中的任意一点不可能向外连线数大于 k k ,设这些点连线总数为 y y ,则有

y k N 1 k + k y≤k(N-1-k)+k

y k 2 + N k = ( k N / 2 ) 2 + N 2 / 4 y≤-k^2+Nk=-(k-N/2)^2+ \lfloor N^2/4 \rfloor

k = N / 2 k= \lfloor N/2 \rfloor 时, y y 是整数,所以 y y 的最大值为 N 2 / 4 \lfloor N^2/4 \rfloor

所以 y N 2 / 4 y≤ \lfloor N^2/4 \rfloor

得证。

时间复杂度: O ( 1 ) O(1) .

实际得分: 100 p t s 100pts .

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;

inline int read(){char ch=getchar();int f=1;while(ch<'0' || ch>'9') {if(ch=='-') f=-f; ch=getchar();}
	int x=0;while(ch>='0' && ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar();return x*f;}

int main(){
	int n=read();
	printf("%d\n",n*n/4);
	return 0;
}

发布了27 篇原创文章 · 获赞 33 · 访问量 520

猜你喜欢

转载自blog.csdn.net/bifanwen/article/details/105277181
今日推荐