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

牛客周赛 Round 83

A.和猫猫一起起舞!

思路:遇到‘U’和‘D’,输出‘R’或者‘L’;遇到‘R’和‘L’,输出‘U’或者‘D’.(这题比较简单)

AC代码:

void solve()
{int n, m, k;char ch;cin >> ch;if (ch == 'U' || ch == 'D'){cout << 'L' << endl;}else {cout << 'U' << endl;}
}

 B.冒险猫猫参上!!

思路:被样例误导了wa了一发,发现总共的石子数为3*n,而从1到n来输出只能在n<=5时满足,这能通过式子来推出来:

\frac{(n+1)*n}{2}=3*n

所以得考虑其他办法,这里很容易想到放1、2、1....来间隔放是肯定可以,并且保证不会超过3*n.

AC代码:

void solve()
{int n;cin >> n;for (int i = 0; i<=n; i++){cout << i << " \n"[i==n];}
}

C. 泉神,启动!!!

思路:这里很容易发现y为11,101,1001,这样类型的其中第一个1后面的位数为x的位数,这里将x转换成字符串很快能求出其位数。

AC代码:

void solve()
{int n;cin >> n;int num = to_string(n).size();int res = pow(10, num)+1;cout << res << endl;
}

 D.大预言家!!!!

思路:这个图形能看出来是跟正方形有关的,也就是说跟平方数有关,这里列出其平方数的位置观察,这里发现平方数后会向左或者右移动一次,再有两次的移动,所以我们这里只要二分一下平方数,并判断奇偶数来分别讨论一下,我的代码比较复杂,其实应该不用写这么多

AC代码: 

void solve()
{int n, m, k;cin >> n;int l = 0, r = 1e9;while (l+1 < r){int mid = (l+r)/2;if (mid*mid > n) r = mid;else l = mid;}r--;int x, y;if(r % 2 == 0){x = -(r/2)+1, y = -(r/2);if (r*r == n){cout << x << " " << y << endl;return ;}x--;if (r*r+1 == n){cout << x << " " << y << endl;return ;}if (r*r+1+r >= n){y += n-(r*r+1);cout << x << " " << y << endl;return ;}if (r*r+1+2*r >= n){y += r;x += n-(r*r+1+r);cout << x << " " << y << endl;return ;}}else{x = r/2, y = r/2;if (r * r == n){cout << x << " " << y << endl;return ;}x++;if (r*r+1 == n){cout << x << " " << y << endl;return ;}if (r*r+1+r >= n){y -= (n-(r*r+1));cout << x << " " << y << endl;return ;}if (r*r+1+2*r >= n){y -= r;x -= (n-(r*r+1+r));cout << x << " " << y << endl;return ;}}
}

E.全都要!!!!!

思路:能想到用dp,其实认真做一下动态转移即可

AC代码:

void solve()
{int n, m, k;cin >> n >> k;vector<vector<int>> dp(n+1, vector<int>(k+1, -INF));dp[0][0] = 0; // dp[i][j]表示第j步到达i位置的最大值vector<int> val(n+1);for (int i = 1; i<=n; i++) cin >> val[i];int ans = -INF;for (int i = 1; i<=n; i++){for (int j = 1; j<=min(i, k); j++){for (int p = max(0ll, i-6);  p<=i-1; p++){dp[i][j] = max(dp[i][j], dp[p][j-1]+val[i]);}}ans = max(ans, dp[i][k]);}cout << ans << endl;
}
void solve()
{int n, m, k;cin >> n >> k;vector<vector<int>> dp(k+1, vector<int>(n+1, -INF));dp[0][0] = 0;  // dp[i][j]表示第i步到达j位置的最大值vector<int> val(n+1);for (int i = 1; i<=n; i++) cin >> val[i];for (int i = 1; i<=k; i++){for (int j = i; j<=min(i*6, n); j++){for (int s = 1; s <= 6; s++){if (j-s < 0) break;dp[i][j] = max(dp[i][j], dp[i-1][j-s]+val[j]);}}}int ans = -INF;for (int i = 1; i<=n; i++){ans = max(ans, dp[k][i]);}cout << ans << endl;
}

F.水题!!!!!!

思路:因为已经确定为起点,并且对bfs熟悉的同学,应该很任意想到,遇到‘#’只要用优先队列给他排在now+t,然后其他就是模拟的部分,嗯,对,就说这么多,看代码应该能看懂。。其中解释一下结构体内的变量,dep表示为从头开始的时间,state表示是否为向下的水流,其他就是特判之类的细节。。。。这是真水题啊

AC代码:

struct node{int x, y, dep, state;bool operator < (const node& other) const{return dep > other.dep;}
};
void solve()
{int n, m, t;cin >> n >> m >> t;t++;vector<vector<char>> G(n+5, vector<char>(m+5, ' '));pair<int, int> sta;for (int i = 1; i<=n; i++){for (int j = 1; j<=m; j++){cin >> G[i][j];if (G[i][j] == '*') sta = mp(i, j);}} vector<vector<int>> vis(n+5, vector<int>(m+5,0));priority_queue<node> q;q.push({sta.first, sta.second, 0, 1});while (!q.empty()){auto [x, y, dep, state] = q.top();q.pop();if (state != 1)if (vis[x][y]) continue;vis[x][y] = 1;if (G[x][y] == '%'){cout << dep << endl;return ;}if (G[x+1][y] == '#'){if (state && !vis[x+1][y]) q.push({x+1, y, dep+t, 1});if (y+1 <= m && G[x][y+1]!='#') q.push({x, y+1, dep+1, 0});if (y-1 >=1 && G[x][y-1] != '#') q.push({x, y-1, dep+1, 0});}else {if (x+1 <= n) q.push({x+1, y, dep+1, 1});}}cout << -1 << endl;
}

相关文章:

牛客周赛 Round 83

A.和猫猫一起起舞&#xff01; 思路&#xff1a;遇到‘U’和‘D’&#xff0c;输出‘R’或者‘L’&#xff1b;遇到‘R’和‘L’&#xff0c;输出‘U’或者‘D’.(这题比较简单) AC代码&#xff1a; void solve() {int n, m, k;char ch;cin >> ch;if (ch U || ch D)…...

硬通货用Deekseek做一个Vue.js组件开发的教程

安装 Node.js 与 Vue CLI‌ npm install -g vue/cli vue create my-vue-project cd my-vue-project npm run serve 通过 Vue CLI 可快速生成项目骨架&#xff0c;默认配置适合新手快速上手 目录结构‌ src/ ├── components/ # 存放组件文件 │ └── …...

Windows权限维持之利用安全描述符隐藏服务后门进行权限维持(八)

我们先打开cs的服务端 然后我们打开客户端 我们点击连接 然后弹出这个界面 然后我们新建一个监听器 然后我们生成一个beacon 然后把这个复制到目标主机 然后我们双击 运行 然后cs这边就上线了 然后我们把进程结束掉 然后我们再把他删除掉 然后我们创建服务 将后门程序注册…...

Ubuntu20.04双系统安装及软件安装(七):Anaconda3

Ubuntu20.04双系统安装及软件安装&#xff08;七&#xff09;&#xff1a;Anaconda3 打开Anaconda官网&#xff0c;在右侧处填写邮箱&#xff08;要真实有效&#xff01;&#xff09;&#xff0c;然后Submit。会出现如图示的Success界面。 进入填写的邮箱&#xff0c;有一封Ana…...

【极光 Orbit•STC8A-8H】02. STC8 单片机工程模板创建

【极光 Orbit•STC8A-8H】02. STC8 单片机工程模板创建 七绝单片机 小小芯片大乾坤&#xff0c; 集成世界在其中。 初学虽感千重难&#xff0c; 实践方知奥妙通。 今天的讲法和过去不同&#xff0c;直接来一个多文件模块化的工程模板创建&#xff0c;万事开头难&#xff0c;…...

Spring Boot WebFlux 中 WebSocket 生命周期解析

Spring Boot WebFlux 中的 WebSocket 提供了一种高效、异步的方式来处理客户端与服务器之间的双向通信。WebSocket 连接的生命周期包括连接建立、消息传输、连接关闭以及资源清理等过程。此外&#xff0c;为了确保 WebSocket 连接的稳定性和可靠性&#xff0c;我们可以加入重试…...

PostgreSQL中的事务隔离

1. 事务隔离的概念 在数据库管理系统中&#xff0c;事务隔离是一项重要的功能&#xff0c;它能确保在并发访问数据库时事务之间能够独立运行&#xff0c;不会相互干扰。数据库系统通常支持不同级别的事务隔离&#xff0c;用来满足不同应用程序之间的需求。 2. 事务隔离的种类…...

基于Rye的Django项目通过Pyinstaller用Github工作流简单打包

前言 Rye的介绍和安装 Ryehttps://rye.astral.sh/Rye 完整使用教程_安装rye-CSDN博客https://blog.csdn.net/zhenndbc/article/details/144544692 正文 项目建立 配置好环境后 新建文件夹 新建文件夹&#xff0c;进入项目 初始化 rye init下载依赖 rye syncpycharm 打…...

ubuntu 20.04 C++ 源码编译 cuda版本 opencv4.5.0

前提条件是安装好了cuda和cudnn 点击下载&#xff1a; opencv_contrib4.5.0 opencv 4.5.0 解压重命名后 进入opencv目录&#xff0c;创建build目录 “CUDA_ARCH_BIN ?” 这里要根据显卡查询一下,我的cuda是11&#xff0c;显卡1650&#xff0c;所以是7.5 查询链接&#xff1a;…...

【VUE】第一期——初使用、基本语法

目录 0 前言 1 准备工作 1.1 创建vue实例 1.2 vue开发者工具 2 插值表达式 2.1 基本用法 3 常用指令 3.1 内容渲染指令 3.1.1 v-text 3.1.2 v-html 3.2 条件渲染指令 3.2.1 v-show 3.2.2 v-if 3.2.3 v-else 和 v-else-if 3.3 事件绑定指令 3.3.1 内联语句 3.3…...

计算光学成像与光学计算概论

计算光学成像所涉及研究的内容非常广泛&#xff0c;虽然计算光学成像的研究内容是发散的&#xff0c;但目的都是一致的&#xff1a;如何让相机记录到客观实物更丰富的信息&#xff0c;延伸并扩展人眼的视觉感知。总的来说&#xff0c;计算光学成像现阶段已经取得了很多令人振奋…...

开启科创服务新篇章:八月瓜科技CRM数字化管理系统成功上线

近日&#xff0c;北京八月瓜科技有限公司&#xff08;以下简称 “八月瓜科技”&#xff09;与纷享销客达成深度战略合作&#xff0c;成功部署并上线CRM数字化管理系统。此次合作是八月瓜科技在数字化转型进程中的重要里程碑&#xff0c;标志着其在科技创新服务领域的数字化变革…...

AI提示词(Prompt)的理解和学习指南

AI提示词&#xff08;Prompt&#xff09;的理解和学习指南 一、什么是AI提示词&#xff1f; AI提示词&#xff08;Prompt&#xff09;是用户输入给人工智能模型的指令或问题&#xff0c;用于引导模型生成特定类型的回答或内容。它如同与AI沟通的“钥匙”&#xff0c;设计得当…...

记录一些面试遇到的问题

重载和重写的区别 重载是overload&#xff0c;覆盖是override 重载属于编译时多态&#xff0c;覆盖属于运行时多态 运行时多态和编译时多态 运行时多态指的是在运行的时候才知道要调用哪一个函数&#xff0c;编译时多态是指在编译的时候就知道调用哪一个函数。 运行时多态…...

OpenHarmony4.0_Linux环境搭建

查看链接&#xff1a;OpenHarmony4.0_Linux环境搭建https://www.yuque.com/xinzaigeek/jishu/fs9msruqhd5nhw4i...

DeepSeek开源Day5:3FSsmallpond技术详解

2 月 24 日&#xff0c;DeepSeek 启动 “开源周”&#xff0c;第四个开源的代码库为 3FS&smallpond&#xff08;又是一下发布了两个&#xff09;。 3FS&#xff08;Fire-Flyer File System&#xff09;是 DeepSeek 内部开发的一款高性能分布式文件系统&#xff0c;旨在为 A…...

Java集合面试篇

目录 1.概念 1.1.数组与集合的区别&#xff0c;用过哪些&#xff1f; 1.2.说说Java中的集合&#xff1f; 1.3.Java中的线程安全的集合是什么&#xff1f; 1.4.集合遍历的方法有哪些&#xff1f; 2.List 2.1.list可以一边遍历一边修改元素吗&#xff1f; 2.2.Arraylist和…...

plt和cv2有不同的图像表示方式和颜色通道顺序

在处理图像时&#xff0c;matplotlib.pyplot (简称 plt) 和 OpenCV (简称 cv2) 有不同的图像表示方式和颜色通道顺序。了解这些区别对于正确处理和显示图像非常重要。 1. 图像形状和颜色通道顺序 matplotlib.pyplot (plt) 形状&#xff1a;plt 通常使用 (height, width, cha…...

Sqlserver安全篇之_手工创建TLS用到的pfx证书文件

Sqlserver官方提供的Windows Powershell脚本 https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/configure-sql-server-encryption?viewsql-server-ver16 # Define parameters $certificateParams {Type "SSLServerAuthentication"Subje…...

基于RapidOCR与DeepSeek的智能表格转换技术实践

基于RapidOCR与DeepSeek的智能表格转换技术实践 一、技术背景与需求场景 在金融分析、数据报表处理等领域&#xff0c;存在大量图片格式的表格数据需要结构化处理。本文介绍基于开源RapidOCR表格识别与DeepSeek大模型的智能转换方案&#xff0c;实现以下典型场景&#xff1a; …...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...