洛谷 P1416 攻击火星
2016-11-06 22:42
204 查看
题目描述
一群外星人将要攻击火星。
火星的地图是一个n个点的无向图。这伙外星人将按照如下方法入侵,先攻击度为0的点(相当于从图中删除掉它),然后是度为1的点,依此类推直到度为n-1的点。
所有的点度统计是动态统计的。(一个点删掉后,与之相连的点的点度都会-1)。外星人攻击度为某个数的点时是同时攻击的。
你需要设计这个图的边的方案来使得未被攻击的点最多。
输入输出格式
输入格式:
输入文件包含一行一个整数n。
输出格式:
一行一个整数,表示最多的最后未被攻击的点。
输入输出样例
输入样例#1:
3
输出样例#1:
1
说明
【样例解释】
①-②-③,这样首先删掉度为1的①和③,此时②度数为0,不会被删去。
【数据范围】
对于20%的数据1<=n<=10
对于100%的数据1<=n<=50000
【题目来源】
tinylic改编
【分析】
结论题…
真的好神奇…
By tinylic
经过找规律可以发现答案为n-2.
以下是证明:
令d[i]为i 的度数。
考虑一个点i 不被删去的条件,必然是前面与i 相邻的点j(可以是多个)被删去,导致d[i]
减小至小于等于d[j].
1)易知ans!=n。
2)考虑ans能否是n-1,也就是只删一个点,设这个点为i。
因为i 是唯一被删去的点,所以d[i]一定不是最大的,即d[i]
一群外星人将要攻击火星。
火星的地图是一个n个点的无向图。这伙外星人将按照如下方法入侵,先攻击度为0的点(相当于从图中删除掉它),然后是度为1的点,依此类推直到度为n-1的点。
所有的点度统计是动态统计的。(一个点删掉后,与之相连的点的点度都会-1)。外星人攻击度为某个数的点时是同时攻击的。
你需要设计这个图的边的方案来使得未被攻击的点最多。
输入输出格式
输入格式:
输入文件包含一行一个整数n。
输出格式:
一行一个整数,表示最多的最后未被攻击的点。
输入输出样例
输入样例#1:
3
输出样例#1:
1
说明
【样例解释】
①-②-③,这样首先删掉度为1的①和③,此时②度数为0,不会被删去。
【数据范围】
对于20%的数据1<=n<=10
对于100%的数据1<=n<=50000
【题目来源】
tinylic改编
【分析】
结论题…
真的好神奇…
By tinylic
经过找规律可以发现答案为n-2.
以下是证明:
令d[i]为i 的度数。
考虑一个点i 不被删去的条件,必然是前面与i 相邻的点j(可以是多个)被删去,导致d[i]
减小至小于等于d[j].
1)易知ans!=n。
2)考虑ans能否是n-1,也就是只删一个点,设这个点为i。
因为i 是唯一被删去的点,所以d[i]一定不是最大的,即d[i]
#include<cstdio> #include<iostream> using namespace std; int main() { int n; scanf("%d",&n); printf("%d\n",max(0,n-2)); return 0; }
相关文章推荐
- 构造——洛谷 P1416 攻击火星
- 洛谷 P1416 攻击火星
- P1416 攻击火星
- 洛谷1640 [SCOI2010]连续攻击游戏
- 【二分图】洛谷P1640连续攻击游戏
- 【洛谷1640】[SCOI2010]连续攻击游戏
- 洛谷P1640 [SCOI2010]连续攻击游戏
- 洛谷P1755 攻击火星
- 洛谷 P1640 BZOJ 1854 [SCOI2010]连续攻击游戏
- 【洛谷1640】[SCOI2010]连续攻击游戏
- 洛谷—— P1640 [SCOI2010]连续攻击游戏
- 洛谷P1640 [SCOI2010]连续攻击游戏
- 洛谷P1640 [SCOI2010]连续攻击游戏(二分图)
- 【洛谷】P4585 [FJOI2015]火星商店问题
- 查看linux是否被攻击
- 洛谷P1631序列合并
- PAT乙级 1044. 火星数字(20)
- mysql注入攻击及防范
- |洛谷|图论生成树|P1396 营救
- TCP SYN洪泛攻击的原理及防御方法