牛客小白月赛87

说明

        年后第一次写题,已经麻了,这次的题很简单但居然只写了两道题。有种本该发挥80分的水平,但是只做出了20分的水平的感觉。不过剩下几个题(除了G题),比完赛一小时内就AC了。欢迎大家交流学习。(最后的G题没做,目前还不打算开始练这种题)

题目列表

A-小苯的石子游戏

思路

        模拟双方每次都取最大的,然后比较双方大小输出即可。

参考题解
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
const int N = 1e2+5;
int a[N];
void solve(){int n;cin >> n;for(int i = 1;i<=n;i++) cin >> a[i];int Alice=0,Bob=0;for(int i = n;i>=1;i--){if((n&1)==(i&1)) Alice+=a[i];else Bob+=a[i];}if(Alice>Bob) cout << "Alice" << endl;else cout << "Bob" << endl;
}
signed main(){//小苯的石子游戏 ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T = 1;cin >> T;while(T--){solve();}return 0;
}

 B-小苯的排序疑惑

思路

        模拟排一下即可。(我这场就是一直卡在这题,我一开始想太复杂了,if讨论没明白,害~)

参考题解
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
const int N = 2e5+5;
int a[N],b[N],c[N];
int n;
bool check(int *a){for(int i = 1;i<=n-1;i++) if(a[i]>a[i+1]) return false;return true;
}
void solve(){cin >> n;for(int i = 1;i<=n;i++) cin >> a[i];for(int i = 1;i<=n;i++){b[i]=a[i];c[i]=a[i];}if(check(a)) cout << "YES" << endl;else{sort(b+1,b+n);sort(c+2,c+n+1);if(!check(b)&&!check(c)) cout << "NO" << endl;else cout << "YES" << endl;}
}
signed main(){//小苯的排序疑惑 ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T = 1;cin >> T;while(T--){solve();}return 0;
}

C-小苯的IDE括号问题(easy)

思路

        用双指针模拟即可。

参考题解
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
// const int N = 2e5+5;
string s;
void solve(){int n,k;cin >> n >> k;cin >> s;int pos=s.find('I');int l=pos-1;int r=pos+1;while(k--){string op;cin >> op;if(op=="backspace"){if(l>=0){if(s[l]=='('&&s[r]==')'&&r<n) r++;l--;}}else{if(r<n) r++;}}for(int i = 0;i<=l;i++) cout << s[i];cout << 'I';for(int i = r;i<n;i++) cout << s[i];cout << endl;
}
signed main(){//小苯的IDE括号问题(easy) ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T = 1;
//     cin >> T;while(T--){solve();}return 0;
}

D-小苯的IDE括号问题(hard)

思路

        用两个数组模拟四种情况,用deque似乎也能实现,不过我还不太会用deque。

参考题解
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
const int N = 2e5+5;void solve(){int n,k;cin >> n >> k;string s;cin >> s;int pos = s.find('I');vector<char> l;vector<char> r;for(int i = 0;i<pos;i++){l.emplace_back(s[i]);}for(int i = pos+1;i<n;i++){r.emplace_back(s[i]);}reverse(r.begin(),r.end());while(k--){string op;cin >> op;if(op=="backspace"){if(l.size()){if(l.back()=='('&&r.back()==')'&&r.size()) r.pop_back();l.pop_back();}}else if(op=="delete"){if(r.size()) r.pop_back();}else if(op=="->"){if(r.size()){l.emplace_back(r.back());r.pop_back();}}else{if(l.size()){r.emplace_back(l.back());l.pop_back();}}}
//     for(int i = 0;i<l.size();i++) cout << l[i];for(char &c:l) cout << c;cout << 'I';if(r.size()){reverse(r.begin(),r.end());for(char &c:r) cout << c;}
//     for(int i = r.size()-1;i>=0;i--) cout << r[i];cout << endl;
}
signed main(){//小苯的IDE括号问题(hard) ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T = 1;
//     cin >> T;while(T--){solve();}return 0;
}

E-小苯的数组构造

思路

        读懂题就很好做,需要考虑前缀最大值,然后模拟一下。

参考题解
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
const int N = 2e5+5;void solve(){int n;cin >> n;vector<int> a(n+1);for(int i = 1;i<=n;i++) cin >> a[i];int maxn = a[1];vector<int> ans(n+1);
//     ans[1]=0;for(int i = 2;i<=n;i++){int now=max(0,maxn-a[i]);ans[i]=now;maxn=max(maxn,a[i]);}for(int i = 1;i<=n;i++) cout << ans[i] << " \n"[i==n];
}
signed main(){//小苯的数组构造  ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T = 1;
//     cin >> T;while(T--){solve();}return 0;
}

G-小苯的逆序对

思路

        主要的思路是贪心,我们知道多个数如果做与运算,值肯定变小,根据题意,与的和就求最后一个数即可,前面的异或和或运算用前缀和的思想求一遍,然后最后用一个循环求和的最大值。

参考题解
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void solve(){int n;cin >> n;
//     cout << fixed << setprecision(20);vector<ll> a(n);for(ll& ai:a) cin >> ai;vector<ll> x(n);vector<ll> o(n);for(int i = 0;i<n-1;i++){if(i==0) x[i]=0LL^a[i];else x[i]=x[i-1]^a[i];}for(int i = n-2;i>=0;i--){o[i]=o[i+1]|a[i];}ll ans=0;for(int i = 0;i<n-2;i++){ans=max(ans,x[i]+o[i+1]+a.back());}cout << ans << endl;
}
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T = 1;
//     cin >> T;while(T--){solve();}return 0;
}

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

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

相关文章

【2024年毕设系列】如何使用Anaconda和Pycharm

【2024年毕设系列】如何使用Anaconda和Pycharm 视频教程地址&#xff1a;【2024毕设系列】Anaconda和Pycharm如何使用_哔哩哔哩 Hi&#xff0c;各位好久不见&#xff0c;这里是肆十二&#xff0c;首先在这里给大伙拜年了。 诸位过完年之后估计又要开始为了大作业和毕业设计头疼…

【蓝桥杯单片机入门记录】LED灯(附多个例程)

目录 一、LED灯概述 1.1 LED发光原理 1.2电路原理图 1.3电路实物图 1.4 开发板LED灯原理图 1.4.1共阳极LED灯操控原理&#xff08;本开发板&#xff09; &#xff08;非实际原理图&#xff0c;便于理解版本&#xff09;由图可以看出&#xff0c;每个LED灯的左边&#xf…

关于在分布式环境中RVN和使用场景的介绍3

简介 在《关于在分布式环境中RVN和使用场景的介绍2》和《关于在分布式环境中RVN和使用场景的介绍1》中我们介绍了RVN的概念和在一些具体用例中的使用。在本文中我们讨论一下在分布式环境中使用RVN需要注意的问题。 问题 我们在收到一条待处理的事件时&#xff0c;需要检查该…

css3实现炫彩字体

这个字体颜色是动态变化的&#xff0c;直接上代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title&…

Java 新手如何使用Spring MVC 中的查询字符串和查询参数

目录 前言 什么是查询字符串和查询参数&#xff1f; Spring MVC中的查询参数 处理可选参数 处理多个值 处理查询参数的默认值 处理查询字符串 示例&#xff1a;创建一个RESTful服务 总结 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家…

【Node.js】path 模块进行路径处理

Node.js 执行 JS 代码时&#xff0c;代码中的路径都是以终端所在文件夹出发查找相对路径&#xff0c;而不是以我们认为的从代码本身出发&#xff0c;会遇到问题&#xff0c;所以在 Node.js 要执行的代码中&#xff0c;访问其他文件&#xff0c;建议使用绝对路径 实例&#xff1…

【Rust】使用Rust实现一个简单的shell

一、Rust Rust是一门系统编程语言&#xff0c;由Mozilla开发并开源&#xff0c;专注于安全、速度和并发性。它的主要目标是解决传统系统编程语言&#xff08;如C和C&#xff09;中常见的内存安全和并发问题&#xff0c;同时保持高性能和底层控制能力。 Rust的特点包括&#x…

车载诊断协议DoIP系列 —— 车辆以太网节点需求汇总

车载诊断协议DoIP系列 —— 车辆以太网节点需求汇总 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,…

《CSS 简易速速上手小册》第7章:CSS 预处理器与框架(2024 最新版)

文章目录 7.1 Sass&#xff1a;更高效的 CSS 编写7.1.1 基础知识7.1.2 重点案例&#xff1a;主题颜色和字体管理7.1.3 拓展案例 1&#xff1a;响应式辅助类7.1.4 拓展案例 2&#xff1a;深色模式支持 7.2 Bootstrap&#xff1a;快速原型设计和开发7.2.1 基础知识7.2.2 重点案例…

【NLP】MHA、MQA、GQA机制的区别

Note LLama2的注意力机制使用了GQA。三种机制的图如下&#xff1a; MHA机制&#xff08;Multi-head Attention&#xff09; MHA&#xff08;Multi-head Attention&#xff09;是标准的多头注意力机制&#xff0c;包含h个Query、Key 和 Value 矩阵。所有注意力头的 Key 和 V…

排序算法---计数排序

原创不易&#xff0c;转载请注明出处。欢迎点赞收藏~ 计数排序&#xff08;Counting Sort&#xff09;是一种线性时间复杂度的排序算法&#xff0c;其核心思想是通过统计待排序元素的个数来确定元素的相对位置&#xff0c;从而实现排序。 具体的计数排序算法步骤如下&#xff…

基于Python实现Midjourney集成到(个人/公司)平台中

目前Midjourney没有对外开放Api&#xff0c;想体验他们的服务只能在discord中进入他们的频道进行体验或者把他们的机器人拉入自己创建的服务器中&#xff1b;而且现在免费的也用不了了&#xff0c;想使用就得订阅。本教程使用midjourney-api这个开源项目&#xff0c;搭建Midjou…

鸿蒙开发-HarmonyOS UI架构

初步布局Index 当我们新建一个工程之后&#xff0c;首先会进入Index页。我们先简单的做一个文章列表的显示 class Article {title?: stringdesc?: stringlink?: string }Entry Component struct Index {State articles: Article[] []build() {Row() {Scroll() {Column() …

Web项目利用MybatisPlus进行分页查询

之前在写博客系统前台页面的时候&#xff0c;遇到了利用mp进行分页查询的情况&#xff0c;由于涉及到的知识点相对较为重要&#xff0c;固写一篇博客以此巩固。 一、功能需求 在首页和分类页面都需要查询文章列表。 首页&#xff1a;查询所有的文章分类页面&#xff1a;查询…

云计算基础-网络虚拟化

虚拟交换机 什么是虚拟交换机 虚拟交换机是一种运行在虚拟化环境中的网络设备&#xff0c;其运行在宿主机的内存中&#xff0c;通过软件方式在宿主机内部实现了部分物理交换机的功能&#xff0c;如 VLAN 划分、流量控制、QoS 支持和安全功能等网络管理特性 虚拟交换机在云平…

Invalid DataSize: cannot convert ‘30Mb‘ to Long

Invalid DataSize: cannot convert 30Mb to Long servlet:multipart:max-file-size: 30MBmax-request-size: 30MB

Mysql5.6忘记密码,如何找回(windows)

mysql5.6安装 第一步&#xff1a;关闭正在运行的数据库服务 net stop mysql第二步&#xff1a;在my.ini文件当中的[mysqld] 任意一个位置放入 skip-grant-tables第三步&#xff1a;启动mysql服务 net start mysql第四步&#xff1a;服务启动成功后就可以登录了&#xff0c;…

数据库管理-第149期 Oracle Vector DB AI-01(20240210)

数据库管理149期 2024-02-10 数据库管理-第149期 Oracle Vector DB & AI-01&#xff08;20240210&#xff09;1 机器学习2 向量3 向量嵌入4 向量检索5 向量数据库5 专用向量数据库的问题总结 数据库管理-第149期 Oracle Vector DB & AI-01&#xff08;20240210&#xf…

Typora+PicGO+腾讯云COS做图床教程

文章目录 Typora&#xff0b;PicGO&#xff0b;腾讯云COS做图床教程一、为什么使用图床二、Typora、PicGO和腾讯云COS介绍三、下载Typora和PicGOTyporaPicGO 四、配置Typora、PicGO和腾讯云COS腾讯云COS配置PicGO配置Typora配置 Typora&#xff0b;PicGO&#xff0b;腾讯云COS做…

【教学类-19-08】20240214《ABAB式-规律黏贴18格-手工纸15*15CM-一页3种图案,A空,纵向、无边框》(中班)

背景需求 利用15*15CM手工纸制作AB色块手环&#xff08;手工纸自带色彩&#xff09;&#xff0c;一页3个图案&#xff0c;2条为一组&#xff0c;黏贴成一个手环 素材准备 代码展示 # # 作者&#xff1a;阿夏 # 时间&#xff1a;2024年2月14日 # 名称&#xff1a;正方形数字卡…