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

距离我成为炎帝的一次(比较近的一次)

sj​​​​​​​登录—专业IT笔试面试备考平台_牛客网

这是dfs的一道基础题,可惜我还是没有学会

但是有时候错误也是一种成长方式

我的代码E题带路

#include<bits/stdc++.h>
//#define int long long
using namespace std;const long long MAX=1e3+10;
//long   a[MAX],bian[MAX],q[MAX],n,m,minn=MAX;//res=0;
int res=0,cnt=0,n,m;
int a[MAX][MAX];
bool vis[MAX][MAX];
int dis[4][4]={{-1,-1},{1,1},{0,1},{0,-1}};
void check(int x,int y){int dx,dy;memset(vis,0,sizeof(vis));if(vis[x][y]==0){if(a[x][y]==1){res++;vis[x][y]=1;return ;}}//keyint fla=0;for(int i=x;x<=n;i++){if(a[x][y]==1){fla=1;}}for(int j=1;j<=m;j++){if(a[x][y]==1){fla=1;}}if(fla==0){res=0;}while(y>0&&x<=n)check(x+1,y);//upwhile(x>0&&y<=m)check(x-1,y);//downwhile(y>0&&x<=n)check(x,y-1);//lwhile(x>0&&y<=m)check(x,y+1);//r
}
int main(){std::ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n,m;cin>>n>>m;//int temx,temy;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){char c;cin>>c;if(c=='.'){a[i][j]=1;//temx=i;temy=j;}}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i][j]==1){check( i, j);res=max(res,-1);	}	}}cout<<res;
}

当时写着写着,本来是比较想写dfs的但是我自己不太熟练所以还是写了,一个其他的方式,但是在那个阻隔那里困扰了我好久,不知道如何去跳到一个新的地方解决这个问题,然后我想用到防火墙一样的东西,看看是否有一排或者是一行全是0的数嘛,多练还是要多练的,其次是我不太能熟练使用我的爆步,并结合我的吸掌来使用。

正确代码使用dfs深度优先搜索

#include<bits/stdc++.h>
using namespace std;
#define int long long
int disx[4]={-1,1,0,0},disy[4]={0,0,1,-1};
int st[1010][1010],res;
string s[1001];int n,m;
void dfs(int x,int y,int ans){//int xx,yy;res=max(res,ans);for(int i=0;i<4;i++){int xx=disx[i]+x,yy=disy[i]+y;if(xx<1||xx>n||yy<1||yy>m||s[xx][yy]=='#'||st[xx][yy]) continue;st[xx][yy]=1;dfs(xx,yy,ans+1);st[xx][yy]=0;}
}
signed main(){cin>>n>>m;for(int i=1;i<=n;i++){string x;cin>>x;x=" "+x;//string x;x=""+s;s[i]=x;}for(int i = 1; i <= n; i ++ ){for(int j = 1; j <= m; j ++ ){if(s[i][j] == '.'){st[i][j] = 1;dfs(i, j, 1);st[i][j] = 0;}}}cout << res << '\n';return 0;
} 

在这里遇到一个边界判断语句,是判断上下左右是否有”.“的一个语句,也就是所谓的围墙,方便数数。这里也是我的能力一大不足之处,好好学习一下!

K题质量检测登录—专业IT笔试面试备考平台_牛客网

#include<bits/stdc++.h>
//#define int long long
using namespace std;
const long long MAX=1e6+10;
long   a[MAX],bian[MAX],q[MAX],n,m,minn=MAX;//res=0;
int main(){cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}/*for(int j=1;j<=m;j++){minn=min(minn,a[j]);}*///printf("%d\n",minn);int u=m,o=1;for(;u<=n;){minn=MAX;for(int i=o;i<=u;i++){minn=min(minn,a[i]);}printf("%d\n",minn);u+=1;o+=1;}/*for(int i=1;i<=n-m+1;i++){printf("%d\n",q[i+m-1]);}*/
}

在这里我虽然知道会运行超时(时间0(nm)),但是自己也没有想到什么好的方式来解决这个问题,今天了解到了ST表什么时候去深入去了解一下,说这个方式可以大大解决时间复杂度的关系了解到http://t.csdn.cn/44l0W还有就是那个log2算法我也不知道如何解决的,本蒟蒻

#include "bits/stdc++.h"using namespace std;
using i64 = long long;template <class T>
struct SparseTable {int n;vector<vector<T>> a;SparseTable(const vector<T> &init) : n(init.size()) {int lg = __lg(n);a.assign(lg + 1, vector<T>(n));a[0] = init;for (int i = 1; i <= lg; i++) {for (int j = 0; j <= n - (1 << i); j++) {a[i][j] = min(a[i - 1][j], a[i - 1][(1 << (i - 1)) + j]);}}  	    }T get(int l, int r) {// [l, r)int lg = __lg(r - l);return min(a[lg][l], a[lg][r - (1 << lg)]);}
};int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int n, m;cin >> n >> m;vector<int> a(n);for (int i = 0; i < n; i++) {cin >> a[i];}SparseTable<int> mn(a);for (int i = 0; i + m <= n; i++) {cout << mn.get(i, i + m) << '\n';}return 0;
}

说ST表也是优化了时间复杂度的关系,其中还有一个模板之类的,找时间好好看看(0n(log2m))

J题登录—专业IT笔试面试备考平台_牛客网

我的dabian

#include<bits/stdc++.h>
//#define int long long
using namespace std;const long long MAX=1e6+10;
//long   a[MAX],bian[MAX],q[MAX],n,m,minn=MAX;//res=0;
int res=0,cnt=0,n,m;
void check(int x){}
int main(){std::ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin>>n>>m;for(int i=1;i<=n-1;i++){res=0;if(i<m){res++;}else if(i>=m){res=0;if(i==m){res=1;}else {res=(i-m);res=res+1;}}cnt=max(cnt,res);}cout<<cnt;
}

再看一下大佬的真是,满眼的羡慕啊,写得真好,我好喜欢,真牛逼

#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e6+10;
int num[MAXN],ans;
int n,k,goal;
int vis[MAXN];
void dfs(int now,int step)
{int a=(now+1)%n;int b=(now+k)%n;if(num[a]>step) {num[a]=step;dfs(a,step+1);}if(num[b]>step) {num[b]=step;dfs(b,step+1);	}}
int main()
{cin>>n>>k;for (int i=1;i<=n;i++){num[i]=MAXN;}dfs(0,1);for (int i=1;i<n;i++){ans=max(ans,num[i]);}cout<<ans<<endl;return 0;
}

D题签到了登录—专业IT笔试面试备考平台_牛客网

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int MAX=1000000;
int a[MAX];
signed main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}int flag=0;for(int i=1;i<=m;i++){int x,y,z;cin>>x>>y>>z;for(int j=y;j<=z;j++){a[j]=a[j]-x;if(a[j]<0){printf("-1\n");printf("%d",i);flag=1;return 0;}}}if(flag==0){printf("0");}
}

经常感觉就是签到了,不过就是重在参与嘛,蒟蒻成长,总不会一帆风顺的!!

相关文章:

距离我成为炎帝的一次(比较近的一次)

sj​​​​​​​登录—专业IT笔试面试备考平台_牛客网 这是dfs的一道基础题&#xff0c;可惜我还是没有学会 但是有时候错误也是一种成长方式 我的代码E题带路 #include<bits/stdc.h> //#define int long long using namespace std;const long long MAX1e310; //lon…...

Protobuf在IDEA中的插件安装教程

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…...

中间件(上)

1、何为中间件&#xff1a; 中间件&#xff08;Middleware&#xff09;是指位于操作系统和应用程序之间的一层软件层&#xff0c;用于提供各种服务和功能&#xff0c;以帮助不同的应用程序、系统或组件进行通信、交互和协作。中间件可以看作是在不同计算机或系统之间建立连接和…...

Python快速检验数据分布

假设检验的前提是确定数据的分布&#xff0c;本文介绍Python检验数据样本是否服从一定分布。使用方法是柯尔莫可洛夫-斯米洛夫检验&#xff08;Kolmogorov–Smirnov test&#xff0c;K-S test&#xff09;&#xff0c;K-S检验方法适用于探索连续型随机变量的分布&#xff0c;对…...

uniapp微信小程序点击右上角菜单分享功能权限配置

个人项目地址&#xff1a; SubTopH前端开发个人站 &#xff08;自己开发的前端功能和UI组件&#xff0c;一些有趣的小功能&#xff0c;感兴趣的伙伴可以访问&#xff0c;欢迎提出更好的想法&#xff0c;私信沟通&#xff0c;网站属于静态页面&#xff09; SubTopH前端开发个人站…...

【OpenVINOSharp】在英特尔® 开发者套件爱克斯开发板使用OpenVinoSharp部署Yolov8模型

在英特尔 开发者套件爱克斯开发板使用OpenVinoSharp部署Yolov8模型 一、英特尔开发套件 AIxBoard 介绍1. 产品定位2. 产品参数3. AI推理单元 二、配置 .NET 环境1. 添加 Microsoft 包存储库2. 安装 SDK3. 测试安装4. 测试控制台项目 三、安装 OpenVINO Runtime1. 下载 OpenVINO…...

Django的模型层

Django的模型层1.Model的开发流程2.定义Model模型3.Model模型的实例4.Model模型的实战操作笔记开发流程1.在models.py中定义模型类&#xff0c;要求继承自models.Model2.生成迁移文件3.执行迁移5.定义属性1.字段类型2.字段选项3.关系模型实例1.类的属性2.创建对象3.实例的属性模…...

idea 新建servlet 访问提示404 WebServlet注解找不到包 报错

检查访问路径是否设置正确 如果设置为name “/testServlet”&#xff0c;则会404 WebServlet注解报错找不到包 检查是否引入了tomcat依赖包...

【EA-ISET协会】Elsevier|2区智慧农业类SCIEI, 进展顺,3个月左右录用~

一、期刊简介 2区智慧农业类SCI&EI 【期刊简介】IF: 3.0-4.0, JCR2区, 中科院4区&#xff1b; 【检索情况】SCI&EI双检&#xff0c;正刊&#xff1b; 【终审周期】走期刊部系统&#xff0c;3个月左右录用&#xff1b; 二、征稿范围 大数据和遥感技术在智慧农业中…...

Class类getName获取类名方法详细说明

1.说明 在java.lang.Class类中有一个获取类名的方法&#xff1a; public String getName() 其返回的是该对象表示的类或接口的名称。 返回由这个Class对象表示的实体的字符串名称&#xff0c; 这个实体可以是&#xff1a; class, interface, array class, primitive type, vo…...

凉而不冷 柔而不弱 三菱重工海尔舒适风科技助您整夜安眠

古人云&#xff1a;安寝乃人生乐事。可随着夏天的到来&#xff0c;昼长夜短&#xff0c;家里的老人、儿童、父母都存在不同的入睡苦恼。对于儿童来说&#xff0c;空调温度调的太低容易踢被子着凉&#xff0c;温度调的高又怕孩子满头大汗&#xff1b;父母自身也会因为半夜帮孩子…...

YOLOv5基础知识入门(7)— NMS(非极大值抑制)原理解析

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。NMS是指非极大值抑制&#xff08;non maximum suppression&#xff09;&#xff0c;它是一种常用于物体检测任务的算法。在物体检测中&#xff0c;通常会有多个预测框&#xff08;bounding box&#xff09;被提议出来&…...

Gpt微信小程序搭建的前后端流程 - 后端基础框架的搭建(三)

Gpt微信小程序搭建的前后端流程 - 后端基础框架的搭建(三) Gpt微信小程序 只需要几个API&#xff0c;API上一小节也有讲到。直接用 gin 或者 beego 简单搭web服务器就够了。我们这里还用 go-micro微服务 去搭建&#xff0c;主要也是为了学以致用&#xff0c;把之前go-micro系列…...

jstat(JVM Statistics Monitoring Tool):虚拟机统计信息监视工具

jstat&#xff08;JVM Statistics Monitoring Tool&#xff09;&#xff1a;虚拟机统计信息监视工具 用于监视虚拟机各种运行状态信息的命令行工具。 它可以显示本地或者远程虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据&#xff0c;在没有GUI图形界面、只提…...

【ARM】Day6 cotex-A7核UART总线实验

cotex-A7核UART总线实验 1. 键盘输入一个字符‘a’&#xff0c;串口工具显示‘b’ 2. 键盘输入一个字符串"nihao"&#xff0c;串口工具显示“nihao” uart.h #ifndef __UART4_H__ #define __UART4_H__#include "stm32mp1xx_rcc.h" #include "stm3…...

HTTPS代理搭建技巧分享

今天我们来分享一下如何搭建一个能够实现中间人 检测和防护的HTTPS代理。保护我们的网络通信安全是至关重要的&#xff0c;让我们一起学习如何构建一个安全可靠的HTTPS代理吧&#xff01; 什么是中间人 &#xff1f; 首先&#xff0c;让我们来了解一下什么是中间人 。中间人 是…...

第四章:树形结构的关联式容器(map+set)

系列文章目录 文章目录 系列文章目录前言1、关联式容器与序列式容器1.1 键值对 2、set的介绍3、multiset的介绍3.1 接口count与容器multiset 4、map的介绍4.1 接口insert4.2 operator[]和at 5、multimap的介绍 前言 根据应用场景的不桶&#xff0c;STL总共实现了两种不同结构的…...

SpringBoot +Vue3 简单的前后端交互

前端&#xff1a;Vue3 创建项目&#xff1a; npm create vuelatest > cd <your-project-name> > npm install > npm run dev 项目结构图如下&#xff1a; 1、查看入口文件内容&#xff1a;main.js 代码如下&#xff1a; import ./assets/main.css impor…...

【Android】Mobile-Security-Framework-MobSF Manifest 静态扫描规则

前言 移动安全框架&#xff08;MobSF&#xff09;是一个自动化的一体化移动应用程序&#xff08;Android/iOS/Windows&#xff09;测试、恶意软件分析和安全评估框架&#xff0c;能够执行静态和动态分析。MobSF支持移动应用程序二进制文件&#xff08;APK、XAPK、IPA和APPX&am…...

【C++】初谈迭代器

文章目录 前言一、什么是迭代器二、迭代器的分类三、迭代器的用法总结 前言 迭代器是一种可以访问和遍历容器中元素的对象&#xff0c;它类似于指针&#xff0c;但是具有更多的功能和灵活性。本文将介绍C迭代器的基本概念、分类、用法和注意事项。 一、什么是迭代器 迭代器&a…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...