ZWK so lazy

HDU 1166 敌兵布阵 zwk线段树 线段树的板题,题意没什么好讲的吧。 区间求和,单点修改。 因为看主席树的时候看到那边的query是用迭代写的,因此想想来看看迭代的线段树。 其实关于单点修改和区间求和的部分,那张讲稿上已经讲得很清楚了,只是剩下一个怎么init线段树的问题。 其实仔细想一想应该也是能够写出来的,我就是按照他的思路然后自己写的...... init用的也是迭代的方法,假若不能理解的话,那还需再看看那 阅读详情
Description:

ZWK很懒每次从某个点到哪个点都会去计算下步数,想知道最短需要多少步,简单的来说就是在一个N*M的矩阵,用‘S’表示起始点,‘E’表示终点,’.‘表示可以走的路,'#'表示障碍,求S到E的最短步数,EOF表示结束

Input:

第一行输入n,m

然后输入N*M矩阵

Output:

输出最短的步数

Sample Input:
3 3
S..
...
..E
Sample Output:
4
// ZWK SO LAZY.cpp : 定义控制台应用程序的入口点。
//

#include<stdlib.h>
#include<math.h>
#include<stdio.h>
#define N 105
#define min(x,y) (x<y?x:y)
char map[N][N];
int vis[N][N];
int n,m,minz=999999;
int step[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
int check(int x,int y)
{
	if((x>=0&&x<n)&&(y>=0&&y<m))
		return 1;
	return 0;
}
int DFS(int x,int y,int dp)
{
	int i,j;
	if(map[x][y]=='E')
	{
		minz=min(minz,dp);
		return 1;
	}
	for(i=0;i<4;i++)
	{
		int tmpx,tmpy;
		tmpx=x+step[i][0];
		tmpy=y+step[i][1];
		if(map[tmpx][tmpy]=='#')
			continue;
		if(check(x,y)==1&&vis[tmpx][tmpy]==0)
		{
			vis[tmpx][tmpy]=1;
			DFS(tmpx,tmpy,dp+1);
			vis[tmpx][tmpy]=0;
		}
	}
	return 0;
}
int main()
{
	int x,y,i,j;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		x=y=minz=999999;
		for(i=0;i<n;i++)
			scanf("%s",map[i]);
		for(i=0;i<n;i++)
			for(j=0;j<m;j++)
				vis[i][j]=0;
		for(i=0;i<n;i++)
		{
			if(x!=minz&&y!=minz)
				break;
			for(j=0;j<m;j++)
			{
				if(map[i][j]=='S')
				{
					x=i,y=j;
					break;
				}
			}
		}
		DFS(x,y,0);
		if(minz==999999)
			printf("%d\n",0);
		else
			printf("%d\n",minz);
	}
	return 0;
}


zkw线段树解决区间rmq zkw线段树具体内容请百度统计的力量(这是他讲的时候所用的ppt的名字) 阅读详情

相关推荐

LDA主题模型简介及Python实现

一、LDA主题模型简介 LDA主题模型主要用于推测文档的主题分布,可以将文档集中每篇文档的主题以概率分布的形式给出根据主题进行主题聚类或文本分类。 LDA主题模型不关心文档中单词的顺序,通常使用词袋特征(bag-of-word feature)来代表文档。词袋模型介绍可以参考这篇文章:文本向量化表示——词袋模型 - 知乎 了解LDA模型,我们需要先了解LDA的生成模型,LDA认为一篇文章是怎么形成的呢? LDA模型认为主题可以由一个词汇...

weixin_41168304的博客 20万+

线段树学习笔记

线段树学习笔记

hacker__man的博客 326

研发工作量科学量化评估模型:从多维系数到等级落地指南

摘要:本文提出了一套基于多维系数的科学量化评估模型,用于精准评估软件开发工作量。该模型从需求复杂度、技术难度、质量要求和依赖风险四个核心维度进行量化评估,通过系数乘积计算综合工作量。文章详细说明了各维度的系数区间划分标准,并演示了从基础工作量估算到综合系数计算的具体步骤。该模型通过结构化评估过程,将主观经验转化为客观量化指标,帮助团队提高工作量评估的准确性,增强项目交付的可预测性。其价值在于使评估过程透明化、结构化和可追溯,从而减少项目延期风险,优化资源规划。

友莘居士的博客 1679

[复习]线段树 系列操作I

题目背景 Problem A:系列操作Ⅰ题目描述 给出序列 a1,a2,…,an (0≤ai≤109) ,有关于序列的两种操作: ai (1≤i≤n) 加上x(-103≤x≤103) 求 max{al,al+1,…,ar} (1≤l≤r≤n) 输入格式 第一行包含两个数 n(1≤n≤105)和 m(1≤m≤105),表示序列长度和操作次数。接下来一行n个数,以空格隔开,表示 a1,a2,…,

g19zwk的博客 319

UR机械臂正逆运动学解析:从DH参数到8组解的完整求解策略

本文深入解析UR机械臂的正逆运动学求解策略,从DH参数原理到完整的8组解求解方法。详细介绍了正运动学的坐标变换过程,以及逆运动学中Atan2函数和三角恒等变换的应用,并揭示了8组解的产生机制。通过实际案例和调试技巧,帮助工程师掌握UR机械臂运动学求解的核心技术。

weixin_29094775的博客 412

C#构建高精度预测模型:从数据预处理到模型部署的实战指南

【代码】C#构建高精度预测模型:从数据预处理到模型部署的实战指南。

墨夶的博客 1260

zkw线段树详解

转载自:http://blog.youkuaiyun.com/qq_18455665/article/details/50989113 前言 首先说说出处:清华大学 张昆玮(zkw) - ppt 《统计的力量》本文(辣鸡)编辑:BeiYu写这篇博客的原因:  1.zkw线段树非递归,效率高,代码短  2.网上关于zkw线段树的讲解实在是太少了  3.个人感觉很实用 更新日志

keshuqi的博客 4万+

使用geneHapR进行基因单倍型分析(以vcf文件为例)

如下图所示,可以看到,用户需要准备的包括:基因型文件、注释文件和样本信息文件,以及后续会用的表型文件。输出的主要内容有:变异位点的可视化、单倍型网络、地理分布、表型比较和连锁不平衡热图。geneHapR的工作流程。

沉香best的博客 5941

线段树和zkw线段树

作者作为一个蒟蒻,也是最近才自学了线段树,不对的地方欢迎大佬们评论,但是不要喷谢谢 好啦,我们就开始说说线段树吧 线段树是个支持区间操作和查询的东东,平时的话还是蛮实用的 下面以最基本的区间加以及查询区间和为例 线段树顾名思义就是棵树嘛,叶子节点是每个基本点,它们所对应的父亲就是它们的和,具体如下图 但是对于这样的线段树来说,操作所需的时间是远达不到我们的要求的(会被t...

aoshandun9097的博客 353

【重要内容】敬告读者

由于优快云近期将要搞事情,此专栏建议已购买的用户将内容保存到本地。尚未购买的用户请待9月1日后再决定是否需要购买。如此规则上线,本人将会关闭此专栏。并寻找其他渠道进行发布。

魔落的博客 910

【Bug已解决】Claude Team Plan 购买席位报错 Payment failed 解决方案

方案适用场景推荐指数检查账单历史状态排查的第一步⭐⭐⭐⭐⭐更换支付方式类型快速尝试是否能绕开问题⭐⭐⭐联系官方支持团队最终解决问题的正规渠道⭐⭐⭐⭐⭐临时过渡方案紧急用人需求的应急处理⭐⭐⭐关注官方修复进度确认属于系统性缺陷的场景⭐⭐⭐⭐Claude Team Plan 增购席位报的问题,社区反馈和实际排查表明很大概率属于平台计费系统在处理按比例分摊费用这类复杂计算链路时的系统性缺陷,而不是用户自身的支付信息填写有误。先排除自身账单历史是否存在异常。

一键难忘的博客 4177

【学习笔记】详解线段树(浅显易懂,匠心之作,图文并茂)

超详解线段树(浅显易懂,几乎涵盖所有线段树类型讲解,匠心之作,图文并茂)

weq2011的博客 3万+

YOLOv8独家原创改进:原创自研 | 自研独家创新DSAM注意力 ,基于BiLevelRoutingAttention注意力升级

提出新颖的注意力DSAM(Deformable Bi-level SpatialAttention Module),创新度极佳,适合科研创新,效果秒杀CBAM,Channel Attention+Spartial Attention升级为新颖的Deformable Bi-level Attention+Spartial Attention

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1511

「学习笔记」线段树

线段树是一棵二叉搜索树,思想与分治很想,把一段区间平分平分再平分,平分到不能平分为止,可以进行方便的区间修改和区间查询,当然,树状数组能做的单点修改、单点查询,线段树也可以更好地实现,总之,线段树是树状数组的升级版,此外,线段树能做的平衡树也能做,但平衡树码量太大,考场上一般写不出来反正我是写不出来,就是会写也不会用,其次有些特殊的线段树如权值线段树也可以水过平衡树,可见,线段树的应用还是十分广泛的。

2301_78287784的博客 221

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Eigen与cuda兼容问题解决

Eigen与cuda兼容问题解决

weixin_45736684的博客 3641

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

error: token '''_CUDACC_VER_ is no longer suppored. Use _CUDACC_VER_MAJOR_, _CUDACC_VER_MINOR_....

1 编译caffe采用的是deepin15.7+opencv4.0beta+cuda10.0+cudnn7.3,基本上都是最新的版本,所以出现问题也正常。 2 最初我把caffe从UBUNTU拿到DEEPIN上面来编译,make的时候出现了error: token '''_CUDACC_VER_ is no longer suppored. Use _CUDACC_VER_MAJOR_, _CUD...

seekforcode的专栏 2743

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【深度学习】Caffe2安装 ubuntu16.04

1.介绍 一个轻量级的深度学习框架,商用项目上面貌似用的比较多,废话不多说,看看怎么装 2.安装 应为官网流程很详细,直接给出官网链接,针对一些有问题的地方给予补充(算了,我还是写一下)。我使用的平台式Ubuntu 16.04,CUDA ,CUDNN,OPENCV都已经装好 Caffe2官网 3.先安装依赖库 sudo apt-get update ...

海贼王的博客 2934

cuda 9.1 和 eigen手动适配

计算机视觉应用中,经常用到eigen库,也会用到cuda库,因为eigen库没有及时follow cuda的更新,导致cuda 9.0和9.1最新的版本,会出eigen兼容问题,报错如下: note:如果使用cmake build,注意下面的顺序,一定放到include_directories开始 include_directories(${CUDA_INCLUDE_DIRS}) ...

东邪西毒 4608

zkw线段树——简单易懂好写好调的线段树

用了zkw线段树几年了,一直想着要写篇总结

DD(XYX)的硫氰化氘博客 2126

Caffe安装手册(Ubuntu 18.04+CUDA 9.0+Anaconda2)

Caffe安装 Ubuntu 18.04+CUDA 9.0+Anaconda2 一、 关于Caffe Caffe是一个常用的深度学习框架,具有表达力强、速度快和模块化的思想,由伯克利视觉学习中心(Berkeley AI Research,BVLC)和社区贡献者开发。Yangqing Jia在加州大学伯克利分校攻读博士期间创建了这个项目。Caffe主要应用在视频、图像处理方面的应用上。 二...

EdgeExplorer 2496

common_functions.h:64:24: error: token ""__CUDACC_VER__ is no longer supported.

问题在复现工程https://github.com/google/hdrnet时出现。 现象: 解决: TensorFlow版本问题,升级到版本1.10.0之后,问题解决。 转载于:https://www.cnblogs.com/walker-lin/p/11076590.html...

weixin_30856725的博客 712

ZKW线段树

题目:敌兵布阵   题意:给一个数组,然后有一系列操作:(1)把某一个值加上一个数,(2)把某一个值减去一个数,(3)求一段区间的和。 #include #include #include using namespace std; const int N=100005; int M; int T[4*N]; void PushUP(int rt) {

ACdreamer 6584

[NOIP模拟][线段树+标记下传]Query

题目描述: 万恶的大头又出现了!他正在玩一个智障游戏:打怪兽。 现在大头的屏幕上出现了一排怪兽,每只怪兽头上有一个血条,每次大头可以选择一个区间进行攻击,攻击值为 K ,这个区间中血量小于 K 的怪兽都会被大头无情地干掉,当然怪兽不会坐以待毙,对于一个区间的怪兽,他们会在某个时刻血量同时加 X 。 大头头虽然很大,但是 IQ 并不高,在座的各位选手都不知道比他高到哪里去了。这个时候大头使出了大

千古的博客 717

彻底解决低版本boost在新版CUDA下编译出错的问题

解决marian在Ubuntu上的编译问题:在安装了boost 1.58 - 1.65左右的版本时,编译会报错: In file included from /usr/local/cuda-10.2/include/cuda_runtime.h:115:0, from <command-line>:0: /usr/local/cuda-10.2/inc...

airhuang的博客 3432

ZJSUOJ8能不能过?

能不能过? Time Limit 1s Memory Limit 32768KB Judge Program Standard Ratio(Solve/Submit) 17.86%(5/28) Description: Jackie来自江城武汉,一个交通发达,九省通衢的城市。但是

seekforcode的专栏 1140
上一篇: windows下配置sublime text的c/c++编译环境(win7 64bit)
下一篇: Jlh打靶
seekforcode
博客等级 码龄12年 9粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值