1、暴搜

每只蚂蚁朝向有两种,可以枚举n只蚂蚁的朝向,然后模拟蚂蚁相遇的情景,总共2^n中情况。

2、分析ants相碰的情况:

(a->)  (<-b) 变成 (<-a)(b->)

由于每只蚂蚁是相同的,所以等价与(<-b)(a->),这和两只蚂蚁原来的走向是一样的,即把碰撞当作没发生过

所以可以对每一只蚂蚁检查一次就可以了

3、空间优化

存蚂蚁的初始位置O(n),但是我们每次只要比较 a[i] 和 len-a[i] 就可以了,后面不需要这两个值了,所以完全可以用一个x来存ant position,空间O(1)

最终每一次 时间O(n) 空间O(1)

/* 贪心,挑战程序设计竞赛 巫 */
#include<cstdio>int min(int a,int b){ return a<b?a:b;}int main()
{int T,len,n,x,minn,maxn,tmp;scanf("%d",&T);while(T--){scanf("%d %d",&len,&n);minn=-1111111,maxn=-11111;while(n--){scanf("%d",&x);tmp=min(x,len-x); /* smaller one */if(tmp>minn) minn=tmp;tmp=len-tmp;     /* bigger one */if(tmp>maxn) maxn=tmp;}printf("%d %d\n",minn,maxn);}return 0;
}

转载于:https://www.cnblogs.com/tinyork/p/4268502.html

POJ 1852 Ants 分析相关推荐

  1. poj 1852 Ants

    题目:http://poj.org/problem?id=1852 本题如果从常规的思想出发去解决问题是比较复杂的,而且时间复杂度会比较高,极有可能超时,但本书给出了一个非常巧妙的解法,程序简单易懂, ...

  2. 【题解】POJ 1852 Ants(搜索)

    POJ1852 Ants 目录 POJ1852 Ants 原题 题意 题解 原题 An army of ants walk on a horizontal pole of length l cm, e ...

  3. 水题/poj 1852 Ants

    1 /* 2 PROBLEM:poj1852 3 AUTHER:Nicole 4 MEMO:水题 5 */ 6 #include<cstdio> 7 using namespace std ...

  4. POJ 1852 Ants O(n)

    题目: 思路:蚂蚁相碰和不相碰的情况是一样的,相当于交换位置继续走. 代码: #include <iostream> #include <cstdio> #include &l ...

  5. 二分图最佳匹配 KM算法 Hdu2255奔小康赚大钱 + Poj 3565 Ants

    2014-10-4 更新 在最下面增加了基于邻接表的模板 理论:http://blog.sina.com.cn/s/blog_691ce2b701016reh.html http://philosci ...

  6. Ants(POJ 1852)

    题目大意:一个蚂蚁群在一个杆子上爬,爬到杆子的末端时就会掉落,如果两只蚂蚁碰面,那么两只蚂蚁会反向走,问所有蚂蚁掉落的最短时间和最长时间.我们已知杆子的长度和蚂蚁的数量和每只蚂蚁的位置(即其距离杆子左 ...

  7. POJ 1002 解题分析

    Technorati 标签: ACM,POJ 题目描述 题目链接 POJ 1002 487-3279 Time Limit: 2000MS Memory Limit: 65536K Total Sub ...

  8. POJ 1007 解题分析

    Technorati 标签: ACM,POJ 题目描述 题目链接:POJ 1007 DNA Sorting DNA Sorting Time Limit: 1000MS Memory Limit: 1 ...

  9. POJ - 3565 Ants(二分图最小权匹配+KM+思维)

    题目链接:点击查看 题目大意:给出n个蚂蚁和n个苹果树的坐标,我们需要求出每个蚂蚁平时觅食所要去的苹果树,必须保证所有路径不能有交叉 题目分析:因为所有的边不能有交叉,所以我们选择距离最短的两个点匹配 ...

最新文章

  1. windows和liunx下换行符问题
  2. 罗伯特扫地机器人电池如何取_irobot扫地机器人电池怎么拆 iRobot/艾罗伯特扫地...
  3. 你到底有几个邮箱?码云账号增加多邮箱支持!
  4. Linux sqlplus权限不足,sqlplus登录用户提示权限不足
  5. mysql-connector-java 6.x配置问题解决方案
  6. ASP.NET中Url重写后,打不开真正的Html页面
  7. 2017.3.29 报表统计 思考记录
  8. 的garch预测_精品细读|基于隐含波动率、已实现波动率和GARCH模型波动率的预测...
  9. Google 作恶!99.9% 的 Android 手机 App 都在窃取隐私
  10. Python基本数据类型之tuple
  11. CTF-reverse菜鸡想要走出菜狗设计的迷宫
  12. SPEA2_Python
  13. 我和同事相处的心得。
  14. C. DZY Loves Fibonacci Numbers(线段树fibonacci)
  15. INF=0x3f3f3f3f是 什么意思?
  16. Win10恢复照片查看器
  17. 任务分配的穷举法、匈牙利法、分支定界法
  18. 肾功能及早期肾损伤的检查题库【1】
  19. Mybatis-Plus进阶之扩展插件
  20. 体验IPTV,我们离三网合一还有多远...?

热门文章

  1. 【nyoj - 860】 又见0-1背包 (dp,反向0-1背包,好题好思路)
  2. 消息测试服务器,测试统一消息服务器功能
  3. Linux中wait接口用于延时,linux2.6驱动编写参考
  4. phison主控ps3111量产工具_从固态硬盘拆解看门道 深入解读闪存编号和主控容量...
  5. html边框自动变颜色,css怎么设置边框颜色?
  6. leetcode339. 嵌套列表权重和
  7. C++:53---菱形继承、虚继承
  8. post方法就反回了一个string字符串前台怎么接_Golang Web入门(2):如何实现一个RESTful风格的路由...
  9. linux查看内核版本信息
  10. 武忠祥.高等数学.基础课-第一章函数 极限 连续P10