搜索
cqbz_lanziming
这个作者很懒,什么都没留下…
展开
-
【题解】搜索 之 细胞、最好的草(详细解析)
①细胞 题目描述题目描述一个矩形阵列由数字0~9组成,数字1 ~9代表细胞,如果一个数的上下左右有相同的数,则它们属于同一个细胞,求给定的矩形阵列的细胞个数 如:138332125322235312一共有10个细胞。输入格式•第一行两个整数n,m。(n<=1000,m<=1000)表示矩阵有n行m列。接下来是这个矩阵。输出格式有多少细胞样例##样例输入3 5323722527519145##样例输出13算法分析这一道题算是一个搜索的板题原创 2020-07-23 20:58:32 · 579 阅读 · 1 评论 -
搜索之抓住那头牛(详细分析)2
抓住那头牛1上次在抓住那头牛1(见上链接)中说到要用到bfs,思路正确,但是却要超时,所以必须缩短时间而缩短时间的方法就是用二分,在所有可能中通过二分寻找正确答案。#include<cstdio>#include<algorithm>using namespace std;const int M=1000005;int a[M],b[M];int ans;bool flag[M];void bfs(int n,int k){ if(n==k){ prin原创 2020-07-09 12:33:20 · 221 阅读 · 1 评论 -
二分、搜索之扩散(详细分析)
题目描述一个点每过一个单位时间就会向四个方向扩散一个距离,如图。两个点a、b连通,记作e(a,b),当且仅当a、b的扩散区域有公共部分。连通块的定义是块内的任意两个点u、v都必定存在路径e(u,a0),e(a0,a1),…,e(ak,v)。给定平面上的n给点,问最早什么时刻它们形成一个连通块。输入格式第一行一个数n,以下n行,每行一个点坐标。输出格式输出仅一个数,表示最早的时刻所有点形成连通块。样例样例输入20 05 5样例输出5【数据规模】对于20%的数据,满足原创 2020-07-09 10:46:16 · 207 阅读 · 1 评论 -
搜索、贪心之马里奥的梯子(详细分析)
题目描述马里奥是有趣的小游戏。在这个游戏的场景里,整个画面被分成N行M列,从上到下分别是1到N行,从左到右分别是1到M列。地面是第N行,它是完整的平台,初始时,马里奥站在地面上,他在地面上可以安全地左右行走。在地面上方的一些行上,可能有不连续的平台。马里奥在任一段平台上可以安全地左右行走。马里奥有一架梯子。他可以用梯子在不同高度的平台之间爬上爬下。马里奥从高的平台不能往下跳,也必须用梯子。他可以在任意位置使用梯子,次数无限制。准确地说,如果梯子的高度为L,马里奥可以从位置(i1, j) 爬到位置 (i原创 2020-07-07 14:09:09 · 306 阅读 · 0 评论 -
搜索之抓住那头牛(详细分析)
题目描述农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式:1、从X移动到X-1或X+1,每次移动花费一分钟2、从X移动到2*X,每次移动花费一分钟假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛?输入格式两个整数,N和K输出格式一个整数,农夫抓到牛所要花费的最小分钟数样例样例1输入5 17样例1输出4样例2原创 2020-07-06 13:50:46 · 1060 阅读 · 0 评论