[USACO2006][poj3182]The Grove(巧妙的BFS)
题目;http://poj.org/problem?id=3182
题意:一个棋盘中间有一个联通块,给你一个起点让你从起点开始绕联通块外围一圈并回到起点,求最小步数。
分析:
首先根据数据的范围比较小,所以觉得应该是搜索,而且是BFS。
朴素的想法是从起点开始BFS 8个方向扩展,不过这样肯定要跪。
注意到这个题目的特点:路径要围一个联通块,而我们一般做的BFS是从一个起点到终点,这之间可以转化吗?
当然可以,围起联通块相当于从联通块边界上一点出发向两边BFS到起点!!!!!
具体实现的话,可以取联通块右边界的一条线段,然后枚举上面所有点,向两边BFS(舍弃一个方向)。
总结:
BFS处理围一个图形的问题可以转化成图形上一点向两边BFS到起点
[USACO2006][poj3182]The Grove(巧妙的BFS)的更多相关文章
- 【BZOJ】1656:[Usaco2006 Jan]The Grove 树木(bfs+特殊的技巧)
		http://www.lydsy.com/JudgeOnline/problem.php?id=1656 神bfs! 我们知道,我们要绕这个联通的树林一圈. 那么,我们想,怎么才能让我们的bfs绕一个 ... 
- BZOJ 1656 [Usaco2006 Jan] The Grove 树木:bfs【射线法】
		题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1656 题意: 给你一个n*m的地图,'.'表示空地,'X'表示树林,'*'表示起点. 所有 ... 
- bzoj1656: [Usaco2006 Jan] The Grove 树木 (bfs+新姿势)
		题目大意:一个n*m的图中,“.”可走,“X”不可走,“*”为起点,问从起点开始绕所有X一圈回到起点最少需要走多少步. 一开始看到这题,自己脑洞了下怎么写,应该是可过,然后跑去看了题解,又学会了一 ... 
- bzoj:1656 [Usaco2006 Jan] The Grove 树木
		Description The pasture contains a small, contiguous grove of trees that has no 'holes' in the middl ... 
- POJ3182 The Grove[射线法+分层图最短路]
		The Grove Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 904 Accepted: 444 Descripti ... 
- 小结:bfs
		概要: 我们在初始状态要到达终止状态可以沿着同深度的向下搜索,这样范围覆盖更广,在解的深度较小的时候十分适用. 技巧及注意: 所有状态在转移后如果要打标记一定要在进队列前打!不要在出队列才打!否则就是 ... 
- 【BZOJ-1656】The Grove  树木       BFS + 射线法
		1656: [Usaco2006 Jan] The Grove 树木 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 186 Solved: 118[Su ... 
- bzoj AC倒序
		Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ... 
- 8月清北学堂培训 Day2
		今天是赵和旭老师的讲授~ 背包 dp 模型 背包 dp 一般是给出一些“物品”,每个物品具有一些价值参数和花费参数,要求 在满足花费限制下最大化价值或者方案数. 最简单几种类型以及模型: 0/1背包: ... 
随机推荐
- nyoj 38 布线问题
			题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=38 最小生成树水题~ 代码: #include "stdio.h" / ... 
- dubbo学习之服务提供者
			1.简介 这里主要记录如何搭建一个spring框架,提供一个dubbo服务,包括详细的步骤. 2.详细步骤 2.1 项目目录结构 2.2 创建maven项目 new --> Web Projec ... 
- Linux学习之一——开机必备知识
			linux最重要的特色是指令交互,利用一个个指令来进行各种操作.当然可以用X Window获得友好的linux窗口,但是还是有很多局限性. linux用户登录后默认进入 /root目录下. 比较重要的 ... 
- Python的逻辑运算符and小析
			近期突然对验证码的识别感兴趣了,然后就研究了一些图像识别和处理的资料,其中有一种图像处理是关于字体的细化和骨架提取的,但是这种算法没有现成的java代码实现,那些号称的java版代码多半都是效果很差或 ... 
- Neo4j 高可用集群安装
			安装neo4j高可用集群,抓图安装过程 http://www.ibm.com/developerworks/cn/java/j-lo-neo4j/ Step1.下载neo4j商业版并解压,复制为neo ... 
- 边工作边刷题:70天一遍leetcode: day 76
			Count Univalue Subtrees 要点:检测条件比较有意思:因为可能的情况比较多,只要违反了任意一条就return False,所以可以只考虑False的情况,最后return True ... 
- ZOJ 2301 / HDU 1199  Color the Ball  离散化+线段树区间连续最大和
			题意:给你n个球排成一行,初始都为黑色,现在给一些操作(L,R,color),给[L,R]区间内的求染上颜色color,'w'为白,'b'为黑.问最后最长的白色区间的起点和终点的位置. 解法:先离散化 ... 
- [转] Centos 6.4 python 2.6 升级到 2.7
			http://blog.csdn.net/jcjc918/article/details/11022345 
- Swift中的Masonry第三方库——SnapKit
			在OC开发时我常用一个名叫Masonry的第三方Autolayout库,在转Swift后发现虽然Swift可以混编OC,但总感觉有些麻烦,在Github上发现了这个叫做SnapKit的第三方库 ... 
- poj1012
			Joseph Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 52097 Accepted: 19838 Descript ... 
