[ 蓝桥 ·算法双周赛 ] 第 19 场 小白入门赛

在这里插入图片描述

🔥博客介绍`: EvLast

🎥系列专栏: <<数据结构与算法>> << 算法入门>> << C++项目>>

🎥 当前专栏: << 算法入门>>

专题 : 帮助小白快速入门算法竞赛
👍👍👍👍👍👍👍👍👍👍👍👍
☆*: .。. o(≧▽≦)o .。.:*☆

❤️感谢大家点赞👍收藏⭐评论✍️

在这里插入图片描述

在这里插入图片描述

算法竞赛:第 19 场 小白入门赛

今日学习打卡
在这里插入图片描述

  • 蓝桥 ·算法双周赛 题解

题解内容:

1. 上交文物

题目考点: 语法
上交文物
解题思路

解题思路: 根据语言直接输出 注意向下取整

代码

#include <bits/stdc++.h>
using ll = long long;void solve(int T) {std::cout << 5000 / 3 << "\n";
}int main()
{std::ios::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0);int T; //std::cin >> T;T = 1;for (int i = 1; i <= T; i++) solve(T);return 0;
}

2. 打开石门

题目考点: 字符串 模拟
打开石门

解题思路

在这里插入图片描述

根据方法可知解题需要选定一个机关字符合并相同的机关字符 由此我们则需遍历字符串 用 n 记录机关字符为 L 的值, 用 m 记录 机关字符为Q 的值, 并筛选出最小的即可

代码

#include <bits/stdc++.h>
using ll = long long;void solve(int T) {//输入数据std::string s; std::cin >> s;//存储变量值 n,m 分别记录L, Q的机关字符的值ll n = (ll)s.size() , m = n , ans = n;// 对应循环遍历for(int j = 0; j < (int)s.size() - 1; j++) {//如果有相同者合并if(s[j] == 'L' && s[j + 1] == 'L') {n--;}if(s[j] == 'Q' && s[j + 1] == 'Q') {m--;}}// 筛选出最小值ans = std::min(n, m); std::cout << ans << "\n";
}int main()
{std::ios::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0);int T = 1; //std::cin >> T;for (int i = 1; i <= T; i++) solve(i);return 0;
}

3. 青铜门上的涂鸦

题目考点: 字符串 模拟
青铜门上的涂鸦

解题思路
在这里插入图片描述

此题要点即 判断出四种情况, 然后根据情况, 进行记录值 注意 : QQ因为题目要求不同的数量,将QQ替换成QQ也是一个创作数量

代码

#include <bits/stdc++.h>
using ll = long long;void solve(int T) {std::string s;std::cin>> s;s = "L" + s;int ans = 0;for(int i = 2; i < (int)s.size(); i++) {if(s[i] == 'L') ans++;else if(s[i - 1] == s[i - 2] && s[i - 1] == 'L') ans++;}if(s.find("QQ") != std::string::npos) ans++;std::cout << ans << "\n";
}int main()
{std::ios::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0);int T = 1; //std::cin >> T;for (int i = 1; i <= T; i++) solve(i);return 0;
}

纯暴力 30% 代码

#include <bits/stdc++.h>
using ll = long long;void solve(int T) {std::string s; std::cin >> s;int ans = 0; std::unordered_map<std::string, int> mp;for(int j = 0; j < (int)s.size() - 1; j++) {std::string t(s);t[j] = 'Q';t[j + 1] = 'Q';mp[t]++;}std::cout << mp.size() << "\n";
}int main()
{std::ios::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0);int T; //std::cin >> T;T = 1;for (int i = 1; i <= T; i++) solve(i);return 0;
}

4. 敲打骷髅兵

题目考点: 模拟 数学
在这里插入图片描述

解题思路

这题比上一题更简单, 敲打一个骷髅并骷髅兵的数量会成倍增加, 指数级增加直到 血条 n 为 0为止, 因为向下取整所以当 n == 1时候即最后一次 。

代码

#include <bits/stdc++.h>
using ll = long long;void solve(int T) {int n,cnt=0;std::cin>>n;while(n) n/=2,cnt++;std::cout << (long long) std::pow(2,cnt) - 1 << "\n";
}int main()
{std::ios::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0);int T; std::cin >> T;for (int i = 1; i <= T; i++) solve(i);return 0;
}

5. 净化王胖子

题目考点: 模拟 数学
在这里插入图片描述

解题思路

根据题目要求从最暴力的方式入手建立起模型, 使用差分的方法

代码

#include <bits/stdc++.h>
using ll = long long;int a[200005], b[200005];void solve(int T) {int n, k, x, sum = 0, t;std::cin >> n>>k;for (int i=1; i<=n; i++) std::cin>>x, a[x] = i;for (int i=1; i<=n-1; i++) b[std::min(a[i],a[i+1])]++, b[std::max(a[i],a[i+1])]--;for (int i=1; i<=n-1; i++)t = b[i], b[i] += sum, sum += t;std::sort(b+1, b+1+n-1, std::greater<int>());sum = 0;for (int i=1; i<=n-1; i++) {sum += b[i];if (sum >= k) {std::cout<<i<<'\n';return ;}}std::cout<<-1<<'\n';
}int main()
{std::ios::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0);int T = 1; //std::cin >> T;for (int i = 1; i <= T; i++) solve(i);return 0;
}

6. 云顶天宫

题目考点: 思维 动态规划
在这里插入图片描述

解题思路

此题根据题解可知需要使用组合数学与dp

参考代码

#include <iostream>
using namespace std;
const int M = 998244353;
const int N = 1005;
// 线性求逆元 求阶乘逆元
long long f[N], inv[N], finv[N];void init(int n) {f[0] = f[1] = inv[0] = inv[1] = finv[0] = finv[1] = 1;for (int i=2; i<=n; i++) {f[i] = f[i-1] * i % M;inv[i] = (M - M/i) * inv[M%i] % M;finv[i] = finv[i-1] * inv[i] % M;}
}
// 求组合数逆元
long long C(int n, int m) {if (m > n)return 0;if (m == 0 || m == n)return 1;return f[n] * finv[m]%M * finv[n-m]%M;
}long long pow(long long a, int k) {if (k == 0)return 1;if (k%2)return pow(a*a%M, k/2)*a%M;elsereturn pow(a*a%M, k/2);
}int main() {int n,m;cin>>n>>m;init(n);long long ans = 0;for (int i=1; i<=(n+1)/2; i++)ans += C(n+1-i, i)*pow(m-1, n-i)%M;cout<<ans%M<<'\n';return 0;
}/*
C(n,1)*(m-1)^(n-1) +
C(n-1,2)*(m-1)^(n-2) + 
...
C(n+1-(n+1)/2,(n+1)/2)*(m-1)^(n-(n+1)/2)4*(4**3)+3*(4**2)*/

个人总结:

感觉这次比赛给我带来很大帮助, 通过本场竞赛复习的字符串的相关操作, 模拟的基础思维, 第三题确实给我带来很多惊喜, 从暴力超内存,到思维上的提升帮助巨大,后面补题的过程在知识上也给我带来提高, 本次双周赛对我来说起到了一个查缺补漏的作用,在我参加算法竞赛的道路,这无疑是一次难得的良机。


补题单 : 第 19 场 小白入门赛

在这里插入图片描述

  • 上交文物
  • 打开石门
  • 青铜门上的涂鸦
  • 敲打骷髅兵
  • 净化王胖子
  • 云顶天宫

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/440756.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Golang | Leetcode Golang题解之第457题环形数组是否存在循环

题目&#xff1a; 题解&#xff1a; func circularArrayLoop(nums []int) bool {n : len(nums)next : func(cur int) int {return ((curnums[cur])%n n) % n // 保证返回值在 [0,n) 中}for i, num : range nums {if num 0 {continue}slow, fast : i, next(i)// 判断非零且方…

ARM(5)内存管理单元MMU

一、虚拟地址和物理地址 首先&#xff0c;计算机系统的内存被组成一个由M个连续的字节大小组成的数组。每字节都会有一个唯一的物理地址。CPU访问内存最简单的方式就是使用物理地址。如下图&#xff1a; 图 1 物理地址,物理寻址 而现在都是采用的都是虚拟寻址的方法。CPU生成一…

复习HTML(基础)

目录 HTML含义 HTML作用 HTML的常用元素 元素的特点 元素的分类 1 是否嵌套关系 2 是否独占一行 块元素&#xff1a;独占一行 行内元素&#xff1a;共享一行 行内元素与块级元素的转换 3是否有结束标签 常用标签 1 标题标签&#xff1a;有六级 我们用h1 ~h6 表…

二叉树—相关结构

1.相关的结构问题&#xff08;分治递归&#xff09; 1.1节点个数 1.2叶子结点个数 叶子结点&#xff1a;没有孩子的节点 1.3树的高度&#xff08;深度&#xff09; 1.4二叉树第k层的节点个数 1.5二叉树查找值为x的节点 2.二叉树的创建和销毁 2.1二叉树的构建 二叉树遍历_牛客…

数据结构(7.4_3)——B+树

B树的定义&#xff1a; B树的查找&#xff1a; 查找成功时&#xff1a; 查找失败时&#xff1a; B树和B树的比较 总结&#xff1a;

性能测试学习2:常见的性能测试策略(基准测试/负载测试/稳定性测试/压力测试/并发测试)

一.基准测试 1&#xff09;概念 狭义上讲&#xff1a;就是单用户测试。测试环境确定后&#xff0c;对业务模型中的重要业务做单独的测试&#xff0c;获取单用户运行时的各项性能指标。 广义上&#xff1a;是一种测量和评估软件性能指标的活动。可以在某个时刻通过基准测试建立…

Stable Diffusion绘画 | 来训练属于自己的模型:炼丹启动

经过前面几轮辛苦的准备工作之后&#xff0c;现在开始进入终篇的炼丹环节。 在「上传素材」页面&#xff0c;点击「开始训练」&#xff1a; 可以在「查看进度-进度」中&#xff0c;查看模型训练的整体进度&#xff1a; 求助&#xff01;&#xff01;&#xff01;操作「开始训练…

SkyWalking监控SQL参数

前言 SkyWalking可以记录每个请求中执行的所有SQL&#xff0c;但是默认情况下&#xff0c;SkyWalking不记录SQL参数导致使用起来不是很方便&#xff0c;每次都得看日志才能知道具体的参数。不过SkyWalking提供了一个配置参数&#xff0c;开启后&#xff0c;便可记录SQL执行的参…

MySQL--三大范式(超详解)

目录 一、前言二、三大范式2.1概念2.2第一范式&#xff08;1NF&#xff09;2.3第二范式&#xff08;2NF&#xff09;2.3第三范式&#xff08;3NF&#xff09; 一、前言 欢迎大家来到权权的博客~欢迎大家对我的博客进行指导&#xff0c;有什么不对的地方&#xff0c;我会及时改进…

在CentOS7上安装mysql

目录 1.下载安装文件 2.上传到CentOS7上 3.解压MySQL文件 4.清理系统中残留的MySQL 5.安装MySQL 6.启动MySQL 并 设置开机自启动 7.查找临时密码&#xff0c;并修改密码 注意&#xff1a; 教程&#xff1a;在Linux上安装mysql&#xff08;超详细版&#xff09;_哔哩哔哩…

集智书童 | 用于时态动作检测的预测反馈 DETR !

本文来源公众号“集智书童”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;用于时态动作检测的预测反馈 DETR ! 视频中的时间动作检测&#xff08;TAD&#xff09;是现实世界中的一个基本且具有挑战性的任务。得益于 Transformer …

<<机器学习实战>>1-9节笔记

2.前言与导学 从关注算法的分类与特性到关注算法适合解决哪类问题 很多经典算法不再有效&#xff0c;但特征工程、集成学习越来越有效&#xff0c;和深度学习分别适合于不同领域 3、基本概念 如果预测目标是离散的&#xff0c;则是分类问题&#xff0c;否则回归 机器学习相比…

UART驱动学习二(TTY体系)

目录 一、TTY体系中设备节点的差别1. 傻傻分不清 /dev/tty*2. 要讲历史了2.1 电传机teletype2.2 计算机需要控制2.2.1 使用teletype2.2.2 teletype被淘汰了2.2.3 个人电脑和虚拟终端 3. tty相关设备节点3.1 各类设备节点的差别3.2 /dev/ttyN(N1,2,3,..., 63)3.3 /dev/tty03.4 /…

STM32-HAL库驱动DHT11温湿度传感器 --2024.9.28

目录 一、教程简介 二、驱动原理讲解 &#xff08;一&#xff09;通信4步骤 &#xff08;二&#xff09;传感器数据解析 三、CubeMX生成底层代码 &#xff08;一&#xff09;基础配置 &#xff08;二&#xff09;配置DHT11的驱动引脚 &#xff08;三&#xff09;配置串口 四…

@Transactional声明式事务回调编程

文章目录 1. 理论阐述2. 代码实现2.1. 问题代码2.2. 改进方案 本文参考&#xff1a; 事务回调编程 大事务问题 1. 理论阐述 最近在学习数据库事务的过程中&#xff0c;了解到了大事务的危害&#xff1a; 并发情况下&#xff0c;数据库连接资源容易耗尽锁定数据较多&#xff0…

用java做一个简易版球球大作战

该界面模拟了一个简单的“吃球”游戏&#xff0c;一开始多个球在屏幕上移动&#xff0c;并检查每个大球是否可以吃掉其他小球&#xff0c;且更新状态&#xff0c;删除已经被吃掉的小球。通过图形绘制和逻辑处理实现了游戏的基本功能。 主界面World.java package gzeu.test.da…

边缘自适应粒子滤波(Edge-Adaptive Particle Filter)的MATLAB函数示例,以及相应的讲解

目录 讲解 初始化 预测步骤 观测模拟 权重更新 重采样 状态估计 总结 下面是一个简单的边缘自适应粒子滤波&#xff08;&#xff09;的函数示例&#xff0c;以及相应的讲解。 程序源代码&#xff1a; function X_est edgeAdaptiveParticleFilter(numParticles, numS…

RabbitMQ(学习前言)

目录 学习MQ之前有必要先去温故下微服务知识体系&#xff0c;以加深本章节的理解 一、微服务间的通讯方式 1. 基本介绍 2. 同步通讯 2.1. 什么是同步通讯 2.2. 同步通讯存在的问题 问题一&#xff1a;耦合度高 问题二&#xff1a;性能和吞吐能力下降 问题三&#xff1a…

在线Xpath匹配定位测试工具

具体请前往&#xff1a;在线Xpath-匹配-定位-调试/测试工具

一文看懂计算机中的大小端(Endianess)

文章目录 前言一、什么是大小端二、如何判断大小端三、大小端的转换3.1 使用标准库函数3.2 手动实现大小端转换 前言 本文主要探讨计算机中大小端的相关概念以及如何进行大小端的判断和转换等。 一、什么是大小端 大小端&#xff08;Endianess&#xff09;是指计算机系统在存…