牛客小白月赛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.mzph.cn/news/685004.shtml

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

相关文章

OpenCV 笔记(22):图像的缩放——最近邻插值、双线性插值算法

1. 图像缩放 1.1 简介 图像缩放是指通过增加或减少像素来改变图像尺寸的过程&#xff0c;是图像处理中常见的操作。图像缩放会涉及效率和图像质量之间的权衡。 图像放大&#xff08;也称为上采样或插值&#xff09;的主要目的是放大原图像&#xff0c;以便在更高分辨率的显示设…

RK3568笔记十五:触摸屏测试

若该文为原创文章&#xff0c;转载请注明原文出处。 使用正点原子的ATK-RK3568板子&#xff0c;一直在测试屏幕和视频&#xff0c;突然想到触摸屏测试&#xff0c;一直没有用过&#xff0c;原子给的demo跑的是QT系统&#xff0c;触摸功能是正常的&#xff0c;测试一下&#xf…

学习天机02

1.注入bean的写法 构造函数的注入 2.回答和评论 在做这个功能的时候需要理解一些概念&#xff0c;张三提出问题就是提问者&#xff0c;李四去回答张三的问题&#xff0c;李四就是回答者&#xff0c;王五去回答李四的评论&#xff0c;王五就是评论者。 在提供的InteractionRep…

MySQL免安装版安装教程

官网下载安装包 MySQL :: Download MySQL Community Server (Archived Versions) 选择mysql版本下载 安装配置MySQL 将下载完的Mysql安装包解压到指定目录 打开windos系统的cmd&#xff0c;以管理员身份运行 进入mysql文件夹中的bin目录 安装MySQL的服务mysqld --install 初…

幻兽帕鲁游戏联机的时候,显示“网络连接超时”怎么解决?

如果你在游戏联机的时候&#xff0c;显示“网络连接超时”&#xff0c;可以检查下&#xff1a; 1、前提是你已经按照教程部署成功 2、检查防火墙有没有忘记设置&#xff0c;协议是UDP&#xff08;只有TCP不行&#xff0c;一定要有UDP&#xff09;&#xff0c;端口是否填了8211&…

AI:128-基于机器学习的建筑物能源消耗预测

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的关键代码,详细讲解供…

02 c++入门

目录 c关键字命名空间c输入&输出缺省参数函数重载引用内联函数auto关键字(c11)基于范围的for循环(c11)指针空值—nullptr(c11) 0. 本节知识点安排目的 c是在c的基础上&#xff0c;容纳进去了面向对象编程思想&#xff0c;并增加了许多有用的库&#xff0c;以及编程范式等…

【论文精读】DINO

摘要 基于对ViT在监督学习领域的表现质疑&#xff0c;探究自监督方法下的ViT是否具有更好的特征提取能力&#xff0c;进而发现&#xff1a; 自监督ViT特征包含场景布局、对象边界。这些信息可以在最后一自注意力模块中直接访问。自监督ViT特征结合最近邻分类器(k-NN)分类头中表…

java-8组合式异步编程

11.1 Future 接口 Future接口在Java5中被引人&#xff0c;设计初衷是对将来某个时刻会发生的结果进行建模。它建模了一种异步计算&#xff0c;返回一个执行运算结果的引用&#xff0c;当运算结束后&#xff0c;这个引用被返回给调用方。在Future中触发那些潜在耗时的操作把调用…

【VSCode】使用笔记

目录 快捷键系列 相关插件 相关文档链接 快捷键系列 调出终端 ctrl 或者是ctrlJ 结束进程 ctrlc 注释 ctrlkc 取消注释 ctrlku 上下移动代码 alt方向键 多行光标ctrlalt方向键 快速跳过某个单词 ctrl方向键 相关插件 1.每次修改后&#xff0c;自动保存启动项目 相…

【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱6(附带项目源码)

效果演示 文章目录 效果演示系列目录前言存储加载物品信息源码完结 系列目录 前言 欢迎来到【制作100个Unity游戏】系列&#xff01;本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第25篇中&#xff0c;我们将探索如何用unity制作一个3D背包、库存、制作、快…

黄金交易策略(Nerve Nnife.mql4):移动止盈的设计

完整EA&#xff1a;Nerve Knife.ex4黄金交易策略_黄金趋势ea-CSDN博客 相较mt4的止盈止损&#xff0c;在ea上实现移动止盈&#xff0c;可以尽最大可能去获得更高收益。移动止盈的大体逻辑是&#xff1a;到达止盈点就开始追踪止盈&#xff0c;直到在最高盈利点回撤指定点数即平…

内网渗透Searchall敏感凭证信息搜索工具

一、开发背景 在实战中进入内网的时候&#xff0c;大家需要搜集一些敏感信息例如账号&#xff0c;密码甚至浏览器的账号密码。searchall完美解决了这个问题。所以我就结合自身的经验写了一款搜索敏感信息的利用工具。它可以搜索敏感信息&#xff0c;更快为你获取到有价值的信息…

【机器学习】数据清洗之识别重复点

&#x1f388;个人主页&#xff1a;甜美的江 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步…

武器级工具包 Immunity Canvas 7.26安装使用体验

介绍&#xff1a; Immunity Canvas工具包有集成化、自动化、简单化的特点&#xff0c;大幅降低了攻击门槛。该工具是Immunity公司的一款商业级漏洞利用和渗透测试工具&#xff0c;包含了480多个以上的漏洞利用&#xff0c;该工具工具本来并不开源&#xff0c;但是在2021年Immu…

函数递归与迭代附n的阶乘+顺序打印一个整数的每一位数+求第n个斐波那契数

1. 什么是递归&#xff1f; 递归其实是一种解决问题的方法&#xff0c;在C语言中&#xff0c;递归就是函数自己调用自己。 下面是一个最简单的C语言递归代码&#xff1a; #include <stdio.h> int main() {printf("hehe\n");main();//main函数中⼜调⽤了main函数…

基于Java (spring-boot)的房屋租赁管理系统

一、项目介绍 基于Java (spring-boot)的房屋租赁管理系统功能&#xff1a;登录、管理员、租客、公告信息管理、房屋信息管理、用户信息管理、租金信息管理、故障信息管理、房屋出租信息详情、个人信息、修改密码、等等等。 适用人群&#xff1a;适合小白、大学生、毕业设计、课…

linux优化空间完全卸载mysql——centos7.9

文章目录 ⭐前言⭐linux命令使用&#x1f496; 基础命令&#x1f496; 内存优化&#x1f496; 完全删除mysql ⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享 linux优化空间&完全卸载mysql——centos7.9。 linux内存分配 在Linux中&#xff0c;内存分配是…

第7讲 SpringSecurity执行原理概述

SpringSecurity执行原理概述 spring security的简单原理&#xff1a; SpringSecurity有很多很多的拦截器&#xff0c;在执行流程里面主要有两个核心的拦截器 1&#xff0c;登陆验证拦截器AuthenticationProcessingFilter 2&#xff0c;资源管理拦截器AbstractSecurityInterc…

为什么电路要设计得这么复杂?

首先提出这个问题就很不容易啊&#xff0c;我们看两个精彩回答。 From 骄建&#xff1a; 假设我们回到第一个实用放大电路诞生之前&#xff1a; 某天你开始做一个CS单管放大器&#xff0c;电阻负载&#xff0c;可是有一大堆问题&#xff0c;电阻做的不准&#xff0c;温度对器…