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

牛客小白月赛105(A~E)

文章目录

  • A lz的吃饭问题
    • 思路
    • code
  • B lz的数字问题
    • 思路
    • code
  • C lz的蛋挞问题
    • 思路
    • code
  • D lz的染色问题
    • 思路
    • code
  • E lz的括号问题
    • 思路
    • code
  • 总结

牛客小白月赛105

A lz的吃饭问题

思路

签到题,比较大小即可

code

void solve(){int a,b,c,d;cin >> a >> b >> c >> d;if(a*b<c*d) cout << "lz" << endl;else cout << "gzy" << endl;return ;
}

B lz的数字问题

思路

a , b a,b a,b 后面补0,将小数点后7位数全部删除

最后比较大小即可

code

void solve(){string a,b;cin >> a >> b;int k1=a.find('.');int k2=b.find('.');if(k1==-1) a+=".0000000";else a+="0000000";if(k2==-1) b+=".0000000";else b+="0000000";k1=a.find('.');k2=b.find('.');a.erase(k1+7);b.erase(k2+7);if(a==b) cout << "YES" << endl;else cout << "NO" << endl;return ;
}

C lz的蛋挞问题

思路

对于改变蛋挞联通块的情况,大致分为2种::

. . .  与 x . x 情况一致,这为一种情况 (将中间的.换成x)x         x  
. .. . 情况一致,这为另一种情况 (左边的图将左上角的.换成x;右边的图将右上角的.换成x)
. x     x .

最后就是边界问题

. x 与 x .  只要邻边是x就满足
x        x

纯模拟即可

code

void solve(){int n;cin >> n;string s,t;cin >> s >> t;int ans=0;for(int j=0;j<s.size();++j){if(s[j]=='x') continue;if(j==0||j==n-1){if(t[j]=='x' && s[j+1]=='x' || t[j]=='x' && s[j-1]=='x') ans++;else if(s[j+1]=='.' && t[j]=='.' && t[j+1]=='x') ans++;else if(s[j-1]=='.' && t[j]=='.' && t[j-1]=='x') ans++;}else if(t[j]=='x' && s[j+1]==s[j-1]) ans++;else if(s[j+1]=='.' && t[j]=='.' && t[j+1]=='x') ans++;else if(s[j-1]=='.' && t[j]=='.' && t[j-1]=='x') ans++;}for(int j=0;j<t.size();++j){if(t[j]=='x') continue;if(j==0||j==n-1){if(s[j]=='x' && t[j+1]=='x'||s[j]=='x' && t[j-1]=='x') ans++;else if(t[j+1]=='.' && s[j]=='.' && s[j+1]=='x') ans++;else if(t[j-1]=='.' && s[j]=='.' && s[j-1]=='x') ans++;}else if(s[j]=='x' && t[j+1]==t[j-1]) ans++;else if(t[j+1]=='.' && s[j]=='.' && s[j+1]=='x') ans++;else if(t[j-1]=='.' && s[j]=='.' && s[j-1]=='x') ans++;}cout << ans << endl;return ;
}

D lz的染色问题

思路

建图,将每天要观察的花的序号看成图

例如:
一个序列 1 2 3 4 5 6 7 8
观察的花的序号为:
1 2
2 3
1 4
5 6
6 7

对于前三组序列来说:1到2有一条边,2到3有一条边,1到4也有一条边
这四个点不在到达其他点,那么这四个点构成一个联通块,我们在这个联通块里找出现次数最多的花色
将其他花色变为出现次数最多的花色即可

后2组序列同理:5 6 7 三个点构成另一个联通块
在这个联通块里也将其他花色变为出现次数最多的花色

将花的序号分为多个联通块,考虑每个联通块中将其他花色变为出现次数最多的花色,用一个ans变量累加转换的次数,最后输出ans即可

code

const int N=1e6+5;
int a[N],vis[N];
vector<int> e[N];
map<int,int> m;
void dfs(int x){m[a[x]]++;vis[x]=1;for(auto y : e[x]){if(!vis[y]) dfs(y);}
}
void solve(){int n,q;cin >> n >> q;for(int i=1;i<=n;++i) cin >> a[i];while(q--){int u,v;cin >> u >> v;e[u].push_back(v);e[v].push_back(u);} int ans=0;for(int i=1;i<=n;++i){if(!vis[i]){m.clear();dfs(i);int sum=0,mx=0;for(auto i : m){sum+=i.se;mx=max(mx,i.se);}ans+=sum-mx;}}cout << ans << endl;return ;
}

E lz的括号问题

思路

用栈模拟括号匹配

栈里面存的是左括号出现的顺序

如果当前遍历到右括号时,栈顶为空,说明括号匹配不满足,直接输出-1
反之,当前栈顶的元素可删去的括号数等于 n − 栈的大小 n-栈的大小 n栈的大小 (除了包含这个括号的括号对不能删除,其他都能在它前面删除)

最后顺序输出即可

code

const int N=1e6+5;
int a[N];
void solve(){int n;cin >> n;string s;cin >> s;stack<int> st;vector<int> ans(n+1);int k=1;for(auto i : s){if(i=='(') st.push(k++);else{if(st.empty()){cout << -1 << endl;return ;}else{ans[st.top()]=n-st.size();st.pop();}}}for(int i=1;i<=n;++i) cout << ans[i] << " ";return ;
}

总结

这场牛客打的稀碎,C题题目看错了,感觉不好写就没看了
D题赛时没想到建图,卡死在D题
E题实际上挺简单的,赛时也没时间看了
思维还是不够敏捷,题目练太少了,特别是图论,基本上我都没往那方面去想,下去多看看图论的题,找找手感(太菜了

相关文章:

牛客小白月赛105(A~E)

文章目录 A lz的吃饭问题思路code B lz的数字问题思路code C lz的蛋挞问题思路code D lz的染色问题思路code E lz的括号问题思路code 总结 牛客小白月赛105 A lz的吃饭问题 思路 签到题&#xff0c;比较大小即可 code void solve(){int a,b,c,d;cin >> a >> b…...

OSPF协议整理

OSPF&#xff08;Open Shortest Path First&#xff09;即开放式最短路径优先协议&#xff0c;是一种广泛应用于大型网络中的链路状态路由协议。 OSPF 的基本概念 OSPF 是基于链路状态算法的内部网关协议&#xff08;IGP&#xff09;&#xff0c;用于在一个自治系统&#xff…...

Java中的多线程

文章目录 Java中的多线程一、引言二、多线程的创建和启动1、继承Thread类2、实现Runnable接口 三、线程的常用方法1、currentThread()和getName()2、sleep()和yield()3、join() 四、线程优先级五、使用示例六、总结 Java中的多线程 一、引言 在Java中&#xff0c;多线程编程是…...

什么是聚簇索引、非聚簇索引、回表查询

其实聚集索引也叫聚簇索引&#xff0c;二级索引也叫非聚簇索引&#xff0c;大家不要认为这是不同的两个知识点。 定义 先看一下数据库的索引介绍。 聚簇索引 1. 如果存在主键&#xff08;一般都存在&#xff09;&#xff0c;主键索引就是聚簇索引。 2. 如果不存在&#xff0c;…...

探索 Spring 框架核心组件:构建强大 Java 应用的基石

Spring框架作为Java企业级开发的首选框架之一&#xff0c;其强大的功能和灵活的架构深受开发者喜爱。Spring框架的核心组件共同构建了一个高效、可扩展的应用程序开发平台。本文将深入探讨Spring框架的核心组件&#xff0c;揭示它们如何在Spring框架中发挥关键作用。 一、Bean…...

Android 13 Aosp 默认允许应用动态权限

图库 frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java 修改 public void grantDefaultPermissions(int userId) {DelayingPackageManagerCache pm new DelayingPackageManagerCache();grantPermissionsToSysCompon…...

【C++知识总结1】c++第一篇,简单了解一下命名空间是什么

一、C的由来 C语言是一种结构化和模块化的编程语言&#xff0c;它对于处理较小规模的程序非常适用。然而&#xff0c;当面临需要高度抽象和建模的复杂问题&#xff0c;以及规模较大的程序时&#xff0c;C语言就显得不那么合适了。为了应对这种挑战&#xff0c;并在解决软件危机…...

从0开始深度学习(32)——循环神经网络的从零开始实现

本章将从零开始&#xff0c;基于循环神经网络实现字符级语言模型&#xff08;不是单词级&#xff09; 首先我们把从0开始深度学习&#xff08;30&#xff09;——语言模型和数据集中的load_corpus_time_machine()函数进行引用&#xff0c;用于导入数据&#xff1a; train_iter…...

GitLab使用操作v1.0

1.前置条件 Gitlab 项目地址&#xff1a;http://******/req Gitlab账户信息&#xff1a;例如 001/******自己的分支名称&#xff1a;例如 001-master&#xff08;注&#xff1a;master只有项目创建者有权限更新&#xff0c;我们只能更新自己分支&#xff0c;然后创建合并请求&…...

cuda conda yolov11 环境搭建

优雅的 yolo v11 标注工具 AutoLabel Conda环境直接识别训练 nvidia-smi 检查CUDA版本 下载nvidia cudnn对应的版本 将cuDNN压缩包内对应的文件复制到本地bin、include、lib的文件夹中 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6 miniConda快速开始-安装 执行…...

解决SpringBoot连接Websocket报:请求路径 404 No static resource websocket.

问题发现 最近在工作中用到了WebSocket进行前后端的消息通信&#xff0c;后端代码编写完后&#xff0c;测试一下是否连接成功&#xff0c;发现报No static resource websocket.&#xff0c;看这个错貌似将接口变成了静态资源来访问了&#xff0c;第一时间觉得是端点没有注册成…...

element-plus的组件数据配置化封装 - table

目录 一、封装的table、table-column组件以及相关ts类型的定义 1、ATable组件的封装 - index.ts 2、ATableColumn组件的封装 - ATableColumn.ts 3、ATable、ATableColumn类型 - interface.ts 二、ATable、ATableColumn组件的使用 三、相关属性、方法的使用以及相关说明 1. C…...

【二维动态规划:交错字符串】

介绍 编程语言&#xff1a;Java 本篇介绍一道比较经典的二维动态规划题。 交错字符串 主要说明几点&#xff1a; 为什么双指针解不了&#xff1f;为什么是二维动态规划&#xff1f;根据题意分析处转移方程。严格位置依赖和空间压缩优化。 题目介绍 题意有点抽象&#xff0c…...

goframe开发一个企业网站 MongoDB 完整工具包18

1. MongoDB 工具包完整实现 (mongodb.go) package mongodbimport ("context""fmt""time""github.com/gogf/gf/v2/frame/g""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options" )va…...

在vue中,根据后端接口返回的文件流实现word文件弹窗预览

需求 弹窗预览word文件&#xff0c;因浏览器无法直接根据blob路径直接预览word文件&#xff0c;所以需要利用插件实现。 解决方案 利用docx-preview实现word文件弹窗预览&#xff0c;以node版本16.21.3和docx-preview版本0.1.8为例 具体实现步骤 1、安装docx-preview插件 …...

动态规划之背包问题

0/1背包问题 1.二维数组解法 题目描述&#xff1a;有一个容量为m的背包&#xff0c;还有n个物品&#xff0c;他们的重量分别为w1、w2、w3.....wn&#xff0c;他们的价值分别为v1、v2、v3......vn。每个物品只能使用一次&#xff0c;求可以放进背包物品的最大价值。 输入样例…...

【Python】 深入理解Python的单元测试:用unittest和pytest进行测试驱动开发

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 单元测试是现代软件开发中的重要组成部分,通过验证代码的功能性、准确性和稳定性,提升代码质量和开发效率。本文章深入介绍Python中两种主流单元测试框架:unittest和pytest,并结合测试驱动开发(TDD)…...

Java集合1.0

1.什么是集合&#xff1f; 集合就是一个存放数据的容器&#xff0c;准确的说是放数据对象引用的容器。 集合和数组的区别 数组是固定长度&#xff0c;集合是可变长度。数组可以存储基本数据类型&#xff0c;也可以存储引用数据类型&#xff0c;集合只能存储引用数据类型&…...

Leetcode 336 回文对

示例 1&#xff1a; 输入&#xff1a;words ["abcd","dcba","lls","s","sssll"] 输出&#xff1a;[[0,1],[1,0],[3,2],[2,4]] 解释&#xff1a;可拼接成的回文串为 ["dcbaabcd","abcddcba","sl…...

实现一个可配置的TCP设备模拟器,支持交互和解析配置

前言 诸位在做IOT开发的时候是否有遇到一个问题&#xff0c;那就是模拟一个设备来联调测试&#xff0c;虽然说现在的物联网通信主要是用mqtt通信&#xff0c;但还是有很多设备使用TCP这种协议交互&#xff0c;例如充电桩&#xff0c;还有一些工业设备&#xff0c;TCP这类报文交…...

算法的空间复杂度

空间复杂度 空间复杂度主要是衡量一个算法运行所需要的额外空间&#xff0c;在计算机发展早期&#xff0c;计算机的储存容量很小&#xff0c;所以空间复杂度是很重要的。但是经过计算机行业的迅速发展&#xff0c;计算机的容量已经不再是问题了&#xff0c;所以如今已经不再需…...

自定义协议

1. 问题引入 问题&#xff1a;TCP是面向字节流的&#xff08;TCP不关心发送的数据是消息、文件还是其他任何类型的数据。它简单地将所有数据视为一个字节序列&#xff0c;即字节流。这意味着TCP不会对发送的数据进行任何特定的边界划分&#xff0c;它只是确保数据的顺序和完整…...

在 Taro 中实现系统主题适配:亮/暗模式

目录 背景实现方案方案一&#xff1a;CSS 变量 prefers-color-scheme 媒体查询什么是 prefers-color-scheme&#xff1f;代码示例 方案二&#xff1a;通过 JavaScript 监听系统主题切换 背景 用Taro开发的微信小程序&#xff0c;需求是页面的UI主题想要跟随手机系统的主题适配…...

autogen框架中使用chatglm4模型实现react

本文将介绍如何使用使用chatglm4实现react&#xff0c;利用环境变量、Tavily API和ReAct代理模式来回答用户提出的问题。 环境变量 首先&#xff0c;我们需要加载环境变量。这可以通过使用dotenv库来实现。 from dotenv import load_dotenv_ load_dotenv()注意.env文件处于…...

读《Effective Java》笔记 - 条目9

条目9&#xff1a;与try-finally 相比&#xff0c;首选 try -with -resource 什么是 try-finally&#xff1f; try-finally 是 Java 中传统的资源管理方式&#xff0c;通常用于确保资源&#xff08;如文件流、数据库连接等&#xff09;被正确关闭。 BufferedReader reader n…...

【软件入门】Git快速入门

Git快速入门 文章目录 Git快速入门0.前言1.安装和配置2.新建版本库2.1.本地创建2.2.云端下载 3.版本管理3.1.添加和提交文件3.2.回退版本3.2.1.soft模式3.2.2.mixed模式3.2.3.hard模式3.2.4.使用场景 3.3.查看版本差异3.4.忽略文件 4.云端配置4.1.Github4.1.1.SSH配置4.1.2.关联…...

nextjs window is not defined

问题产生的原因 在 Next.js 中&#xff0c;“window is not defined” 错误通常出现在服务器端渲染&#xff08;Server - Side Rendering&#xff0c;SSR&#xff09;的代码中。这是因为window对象是浏览器环境中的全局对象&#xff0c;在服务器端没有window这个概念。例如&am…...

C语言实现冒泡排序:从基础到优化全解析

一、什么是冒泡排序&#xff1f; 冒泡排序&#xff08;Bubble Sort&#xff09;是一种经典的排序算法&#xff0c;其工作原理非常直观&#xff1a;通过多次比较和交换相邻元素&#xff0c;将较大的元素“冒泡”到数组的末尾。经过多轮迭代&#xff0c;整个数组会变得有序。 二…...

windows11下git与 openssl要注意的问题

看了一下自己贴文的历史&#xff0c;有一条重要的忘了写了。 当时帮有位同事配置gitlab&#xff0c;众说周知gitlab是不太好操作。 但我还是自认自己git还是相当熟的。 解决了一系列问题&#xff0c;如配置代理&#xff0c;sshkey&#xff0c;私有库&#xff0c;等等&#xff0…...

lua除法bug

故事背景&#xff0c;新来了一个数值&#xff0c;要改公式。神奇的一幕出现了&#xff0c;公式算出一个非常大的数。排查是lua有一个除法bug,1除以大数得到一个非常大的数。 function div(a, b)return tonumber(string.format("%.2f", a/b)) end print(1/73003) pri…...

省建设厅网站梁作庆/百度云搜索

是因为ID类型不对的缘故。 我这是因为传的是一个string类型的。...

网站的优化分析/想做百度推广找谁

南财大学计算机基础试题A含参PAGE大学计算机基础试卷 A卷 第 PAGE 15 页 共 NUMPAGES 15 页大学计算机基础 课程试卷(A卷)一、单项选择题(共50小题&#xff0c;每题1分&#xff0c;共计50分)二、填空题(共36空&#xff0c;每空1分&#xff0c;共计36分)三、简答题(共3小题&…...

武汉网站设计武/石家庄最新消息

Java 是当今最流行的编程语言之一&#xff0c;常年位居最受欢迎编程语言排行榜前三。一个优秀的java程序员&#xff0c;在研发时离不开对测试框架的了解&#xff0c;从而开发出更安全和更高效的代码。使用这些测试框架的其中一个最重要的原因是减少出错的可能性&#xff0c;提高…...

国外乡村建设网站/东莞seo网络优化

Ant Design of React 3.10.9拉取项目 luwei.web.study-ant-design-pro, 切换至 add 分支&#xff0c;可看到 Form 表单实现效果实现一个新增表单思路Create表单&#xff1a;Form.create()表单数据绑定 getFieldDecorator渲染查询表单的查询条件 render 定义表单校验条件 rules设…...

网站推广是网站建设完成之后的长期工作。/如何推广我的网站

MJRefresh 是一个用法简单的下拉刷新框架&#xff0c;所以用它来完成gif动画的刷新也是很简单。 先看下需要用到的属性 property (nonatomic,strong) NSArray *datasArray; property (nonatomic,strong) UITableView *tableView; property (nonatomic,strong) NSMutableArray *…...

wordpress相册/营销策略的重要性

prompt()方法用于显示可提示用户进行输入的对话框。方法返回用户输入的字符串。 语法&#xff1a; prompt(msg,defaultText) //长细框外是msg,长细框内是defaultText. 例如&#xff1a; 显示一个提示框&#xff0c;询问她的名字&#xff0c;然后问候。代码和效果如下&a…...