当前位置: 首页 > wzjs >正文

网站建设手机建设工程其它费计算网站

网站建设手机,建设工程其它费计算网站,石柱土家族网站建设,西宁做网站君博推荐思路 k有一个范围(0到怪物攻击的最大值),求满足要求的k的最小值。很明显的二分套路。 关键是check函数怎么写,我们需要找到一条从第一行到最后一行的路径,每一次可以从上下左右四个方向前进,那么我么可以用…

在这里插入图片描述

思路

k有一个范围(0到怪物攻击的最大值),求满足要求的k的最小值。很明显的二分套路。
关键是check函数怎么写,我们需要找到一条从第一行到最后一行的路径,每一次可以从上下左右四个方向前进,那么我么可以用BFS来查找是否存在。
这里还有一个思维上的关键点,在开始时我们可以随机选一个点出发,如果我们用遍历第一行满足要求的格子,用bfs依次判断,那么这题样例只能过60%。实际上只需把所有满足要求的格子都加入到deque,用多源dfs来一次性查找路径,才能通过所有样例。

code

用遍历第一行的写法只能通过60%的测试点,用多源bfs可以省去遍历的时间复杂度。
二分查找+普通BFS(测试样例通过12/20):

import os
import sys
from collections import dequedef BFS(x,y,k):q = deque()q.append((x,y))vis = [[0 for i in range(m+1)] for j in range(n+1)]vis[x][y] = 1while len(q)!=0:x,y = q.popleft()if x == n:return Truefor dx,dy in [(-1,0),(1,0),(0,1),(0,-1)]:nx,ny = x+dx,y+dyif 1<=nx<=n and 1<=ny<=m and vis[nx][ny]==0:if a[nx][ny] > k:continueq.append((nx,ny))vis[nx][ny] = 1return Falsedef check(k):flag = Falsefor i in range(1,m+1):if a[1][i]>k:continueif BFS(1,i,k):flag = Truereturn flagglobal n,m
n,m = map(int, input().split())
a = [[0 for i in range(m+1)]]
for _ in range(n):a.append([0]+list(map(int,input().split())))l,r = 0,1001
ans = 0
while l<=r:mid = (l+r)//2if check(mid):ans = midr = mid-1else:l = mid+1
print(ans)

二分查找+多源BFS(测试样例通过20/20):

import os
import sys
from collections import dequedef BFS(q,vis,k):while len(q)!=0:x,y = q.popleft()if x == n:return Truefor dx,dy in [(-1,0),(1,0),(0,1),(0,-1)]:nx,ny = x+dx,y+dyif 1<=nx<=n and 1<=ny<=m and vis[nx][ny]==0:if a[nx][ny] > k:continueq.append((nx,ny))vis[nx][ny] = 1return Falsedef check(k):q = deque()vis = [[0 for i in range(m+1)] for j in range(n+1)]for j in range(1,m+1):if a[1][j]<=k:q.append((1,j))vis[1][j] = 1return BFS(q,vis,k)global n,m
n,m = map(int, input().split())
a = [[0 for i in range(m+1)]]
for _ in range(n):a.append([0]+list(map(int,input().split())))l,r = 0,1001
ans = 0
while l<=r:mid = (l+r)//2if check(mid):ans = midr = mid-1else:l = mid+1
print(ans)
http://www.dtcms.com/wzjs/573115.html

相关文章:

  • 建网站需要多少钱和什么条件免费百度广告怎么投放
  • 知名营销网站开发dede如何制作网站地图
  • 建设网站教程网络推广培训要多少钱
  • 商城网站建设的注意事项wordpress 调用近期文章
  • 淄博网站建设招聘餐饮店设计哪家好
  • 本地企业网站建设建设网站的
  • mstsc做网站江苏网络科技有限公司
  • 高端品牌网站建设九五网络网站建设续费是什么费用
  • 怎么看一个网站用什么程序做的wordpress漫画采集
  • 网站备案 几年网络优化是做啥的
  • 自己做采集电影网站19手机网站
  • 有趣的网站网址之家中国人在线观看免费高清
  • 浙江省住房和建设厅网站哪个网站的系统
  • 网站产品的详情页怎么做福清哪有做网站的地方
  • 服务好的微网站建设杭州seo外包服务
  • 怎样给公司做免费网站微信优惠券网站怎么做的
  • 绵阳网站建设推广微网站价格
  • 都网站建设怎么做淘宝链接网站
  • 门户网站集群建设重庆建筑设计公司排名
  • 行业数据可以从哪里获取济宁优化公司
  • 自己做网站可以随便起名字吗常州外贸网站建设
  • 网站建设实训报告册商业网点建设中心网站
  • wordpress 网站建设做公司网站费用
  • 韶关城乡建设部网站首页织梦网站修改使用教程
  • 怎么创建个网站上海市建设工程交易中心网站
  • 网站建设销售开场白外国语学院英文网站建设
  • 怎么做网站建设作业中国建设银行什么是网站用户名
  • 网站正在建设中模板织梦软件网站模板下载地址
  • 广州大型网站建设公司排名15年做那些网站致富
  • 建设官方网站怎么登录termux 安装wordpress