题解 P6269 【[SHOI2002]空中都市】
Happy_Dream · · 题解
此题题意非常简单,就是画一个有
很显然,当
那?之后呢?
我们可以很容易地发现,对于每一个
为什么呢?
很简单,因为假设我们多连一条边,那么一定会有一条冗余的一条边。我们可以假设
之后,就是代码啦:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int f[10005];
f[0]=0;//初始一下
for(int i=1;i<=n;i++)
f[i]=f[i-1]+(i/2);//套上面的公式,相当于一个小递推
cout<<f[n];//输出第N个
return 0;
}
于是你就