算法基础精选题单 模拟 (个人题解)

前言:

  从今天开始刷牛客上的这份题单,为暑假的牛客多校集训做准备,题单上一共有237道题,要想在集训开始前刷完难度还是很大的,但我一定会坚持下来,希望在这段时间内我能真正入门算法竞赛。接下来这三道题都与模拟有关,一般出现在比赛的一二题吧(比如蓝桥杯的填空),这三道题写下来我感觉虽然题目难度不是很大,但很需要时间和细心,而且基本要交上好几遍才能过。需要考虑的情况非常多,很容易就少考虑了,所以以后在面对这些题一定要多考虑情况,建议多写几个样例自己跑一下看看对不对(题干给的样例一定不会兼顾所有情况)。

正文:

题单:237题】算法基础精选题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 (nowcoder.com)

字符串的展开:

  

#include<bits/stdc++.h>
using namespace std;
vector<char> v;
int main(){int a,b,c;cin>>a>>b>>c;string s;cin>>s;int cnt;for(int i=0;i<s.size();i++){cnt=v.size();if(s[i]!='-')v.push_back(s[i]);else{if(s[i-1]=='-'||s[i+1]=='-'){v.push_back('-');continue;}if(i==0||i==s.size()-1){v.push_back('-');continue;}if(s[i-1]==s[i+1]||abs(s[i+1]-s[i-1])>=40||s[i+1]<=s[i-1]){v.push_back('-');continue;}for(int k=s[i-1]+1;k<s[i+1];k++){//cout<<k<<endl;if(a==3){for(int j=1;j<=b;j++){v.push_back('*');}}if(a==1&&k>60){for(int j=1;j<=b;j++){v.push_back(char(k));}}if(a==2&&k>60){for(int j=1;j<=b;j++){v.push_back(char(k-32));}}if(a!=3&&k<60){for(int j=1;j<=b;j++){v.push_back(char(k));}}}if(c==2){reverse(v.begin()+cnt,v.end());}}}for(vector<char>::iterator it=v.begin();it!=v.end();it++){cout<<*it;}return 0;
}

  以下情况需要重点考虑:

  1. 开头和结尾的‘-’,如“-a-d-”
  2. 连续的‘-’,如“---”
  3. 数字和字母之间的‘-’,如“1-a”
  4. ‘-’左侧的字符大于右侧的,如“d-a

剩下的慢慢写就能搞出来了。

B 多项式输出:

#include<bits/stdc++.h>
using namespace std;
int a[105];
int main(){int n;cin>>n;for(int i=1;i<=n+1;i++){cin>>a[i];if(i==1){if(a[i]==1){if(i==n+1)cout<<a[i];else cout<<"x^"<<n+i-1;}else if(a[i]==-1){if(i==n+1)cout<<'-'<<a[i];else cout<<"-x^"<<n+i-1;}else if(a[i]>1){if(i==n+1)cout<<a[i];else cout<<a[i]<<"x^"<<n+i-1;}else if(a[i]<-1){if(i==n+1)cout<<a[i];else cout<<a[i]<<"x^"<<n+i-1;}continue;}if(a[i]!=0){if(i==n+1){if(a[i]>0)cout<<'+'<<a[i];else cout<<a[i];break;}if(a[i]!=1&&a[i]!=-1){if(a[i]>0){if(n-i+1==1)cout<<'+'<<a[i]<<'x';else cout<<'+'<<a[i]<<"x^"<<n-i+1;}else if(a[i]<0){if(n-i+1==1)cout<<a[i]<<'x';else cout<<a[i]<<"x^"<<n-i+1;}}else{if(a[i]==1){if(n-i+1==1)cout<<"+x";else cout<<"+x^"<<n+1-i;}if(a[i]==-1){if(n-i+1==1)cout<<"-x";else cout<<"-x^"<<n-i+1;}}}}return 0;
}

从前往后依次处理每一项,依次考虑符号、系数、x、x的次数:

  1. 如果系数是0,则直接continue;
  2. 如果不是第一个非零项,且系数是正的,则输出'+';如果系数是负的,则无条件输出'-';
  3. 如果系数的绝对值不是1,或者是常数项,则输出系数的绝对值;
  4. 如果次数不为0,则输出x
  5. 如果次数大于1,则输出次数

C 机器翻译:

#include<bits/stdc++.h>
using namespace std;
vector<int> q;
int main(){int n,m,ans=0;cin>>m>>n;while(n--){int x;cin>>x;int flag=1;for(vector<int>::iterator it=q.begin();it!=q.end();it++){if(*it==x){flag=0;break;}//cout<<flag<<endl;}if(flag){ans++;if(q.size()==m){q.erase(q.begin());q.push_back(x);}else{q.push_back(x);}}}cout<<ans<<endl;
}

用vector来模拟翻译过程,若vector内没有该词,且大小没到m就直接加进最后,若满了就删去vector首项(最早进入内存)再加进最后。若vector内有该词就直接continue掉。

后记:

  总的来说我认为模拟考查的主要是讨论情况的能力,以及在代码量较大的情况下能够合理的按情况用合适的解法写出代码

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

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

相关文章

操作系统实战(一)(PV经典问题之生产者与消费者)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;操作系统 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 前言 进程互斥与同步 题目一 题目二 题…

在SQL中使用explode函数展开数组的详细指南

目录 简介示例1&#xff1a;简单数组展开示例2&#xff1a;展开嵌套数组示例3&#xff1a;与其他函数结合使用处理结构体数组示例&#xff1a;展开包含结构体的数组示例2&#xff1a;展开嵌套结构体数组 总结 简介 在处理SQL中的数组数据时&#xff0c;explode函数非常有用。它…

C#——装箱与拆箱详情

装箱与拆箱 装箱: 将值类型转换成引用类型的过程&#xff1b; 拆箱: 把引用类型转为值类型的过程&#xff0c;就是拆箱 装箱 拆箱

洗地机哪个品牌好?四大实力拔尖单品力荐

洗地机哪个品牌好呢&#xff1f;想必姐妹们肯定觉得保持家里清洁是非常重要的&#xff0c;但是每天打扫卫生真的会让人整个都要疯狂&#xff0c;这不&#xff0c;救星洗地机就能派上用场了&#xff0c;干垃圾湿垃圾统统都能一次清理干净。只需轻轻一推&#xff0c;就能把扫地、…

帝国cms批量取消文章审核-把已审核的文章改成未审核的方法

帝国cms很多人采集的时候&#xff0c;把文章弄成了审核过的文章&#xff0c;或者因为其他的原因&#xff0c;文章都是审核通过&#xff0c;为了seo又不能把全部文章放出来&#xff0c;所以需要把文章弄成未审核以下就是解决本问题的办法 首先来修改后台列表文件&#xff0c;自…

栈,队列,数组,链表

一.数据结构概述 数据结构是计算机底层存储,组织数据的方式。 是指数据相互之间是以什么方式排列在一起的。 数据结构是为了更加方便的管理和使用数据,需要结合具体的业务场景来进行选择。 一般情况下,精心选择的数据结构可以来更高的运行或者存储效率。 二.学好数据结构三大…

Leetcode - 132双周赛

目录 一、3174. 清除数字 二、3175. 找到连续赢 K 场比赛的第一位玩家 三、3176. 求出最长好子序列 I 四、3177. 求出最长好子序列 II 一、3174. 清除数字 本题可以使用栈来模拟&#xff0c;遇到数字弹出栈顶元素&#xff0c;遇到字母入栈。 代码如下&#xff1a; //使用字…

VMware虚拟机卡顿(虚拟机卡死)(调整所有虚拟机内存使其适应预留的主机 RAM (F)、默认进程优先级、不允许使用内存页面修整功能(M))

文章目录 设置编辑——首选项——内存——额外内存——调整所有虚拟机内存使其适应预留的主机 RAM (F)&#xff08;我把这个勾上了&#xff09;编辑——首选项——优先级——默认进程优先级虚拟机——设置——选项——高级——不允许使用内存页面修整功能(M) 参考文章&#xff…

数据结构和算法之复杂度比较

数据结构和算法之复杂度比较 参考如下网址&#xff1a;https://www.bigocheatsheet.com/ 方便快速查询 1. 复杂度比较 2. 常见数据结构复杂度 3. 常见算法复杂度

如何用命令行方式便捷组合调用 AI 工作流?

&#xff08;注&#xff1a;本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费&#xff09; 我给你演示的总结长视频、起草博客文章&#xff0c;只是其中的冰山一角。 焦虑 有些小伙伴最近跟我反馈&#xff0c;看到他人演示的样例&#xff0c;见识…

VScode中js关闭烦人的ts检查

类似如下的代码在vscode 会报错&#xff0c;我们可以在前面添加忽略检查或者错误&#xff0c;如下&#xff1a; 但是&#xff01;&#xff01;&#xff01;这太不优雅了&#xff01;&#xff01;&#xff01;&#xff0c;js代码命名没有问题&#xff0c;错在ts上面&#xff0c;…

文案生成器,免费的文案生成器

在如今这个高速发展的社会&#xff0c;内容创作已经成为许多人工作和生活中不可或缺的一部分。然而&#xff0c;随之而来的就是“内卷”。不仅要高质量的内容还要写作效率。为了在内卷中脱颖而出&#xff0c;我们就需要使用文案生成器&#xff0c;一款能够帮助我们提升写作效率…

element-plus的Tour 漫游式引导怎么去绑定Cascader 级联选择器或者它的内容 popper

首先官方例子是用的button 官方.$el这个log出来是&#xff1a; 知道是以元素为准就拿对应的元素就行 级联选择器.$el是这样的&#xff1a; 你可以移入这个元素部分去看看是哪个要用的&#xff08;好像谷歌还是狐火直接放上去就可以看到元素表示&#xff0c;但是我有时用谷歌只…

16.RedHat认证-Ansible自动化运维(中)

16.RedHat认证-Ansible自动化运维(中) 部署Ansible Ansible的Inventory文件 Inventory文件定义了ansible管理的主机&#xff0c;说白了就是Inventory文件中的内容是记录被管理的主机。 Inventory文件分为两种&#xff0c;一种是静态的Inventory文件&#xff0c;一种是动态的…

家有老人小孩,室内灰尘危害大!资深家政教你选对除尘空气净化器

哈喽&#xff0c;各位亲爱的朋友们&#xff01;今天我们来聊聊每次大扫除时最让人头疼的问题——灰尘。你有没有发现&#xff0c;两天不打扫&#xff0c;桌子上就能积上一层灰&#xff1b;阳光一照&#xff0c;地板上的灰尘都在跳舞&#xff1b;整理被子的时候&#xff0c;空气…

板凳-------第58章SOCKET:TCP/IP网络基础

58.1 互联网 互联网会将不同的计算机网络连接起来并允许位于网络中的主机相互之间进行通信。互联网的目标是隐藏不同物理网络的细节以便向互联网中的所有主机呈现一个统一的网络架构&#xff0c;TCP/IP已经成了使用最为广泛的协议套件了&#xff0c; 术语Internet被用来指将全球…

2-7 基于matlab实现声纹识别

基于matlab实现声纹识别&#xff0c;通过提取声音信号的MFCC特征&#xff0c;然后形成特征向量&#xff0c;通过训练语音&#xff0c;对测试语音进行识别&#xff0c;可以识别训练库内的声音&#xff0c;也可以识别出训练库外的声音。程序已调通&#xff0c;可直接运行。 2-7 m…

Redis持久化主从哨兵分片集群

文章目录 1. 单点Redis的问题数据丢失问题并发能力问题故障恢复问题存储能力问题 2. Redis持久化 -> 数据丢失问题RDB持久化linux单机安装Redis步骤RDB持久化与恢复示例RDB机制RDB配置示例RDB的fork原理总结 AOF持久化AOF配置示例AOF文件重写RDB与AOF对比 3. Redis主从 ->…

Meta FAIR研究新成果:图像到文本、文本到音乐的生成模型,多标记预测模型以及AI生成语音检测技术

Meta AI研究实验室(FAIR)公开发布了多项新研究成果&#xff0c;包括图像到文本和文本到音乐的生成模型&#xff0c;多词预测模型&#xff0c;以及检测AI生成语音的技术。发布的成果体现了开放性、协作、卓越和规模化等核心原则。公开早期研究工作旨在激发迭代&#xff0c;推动A…

AI写论文网站,提升论文写作效率

学术研究与论文写作是一个衡量学者专业水平的重要标准。但是&#xff0c;论文写作过程中繁琐的文献检索、资料整理、数据分析等工作往往耗时费力。幸运的是&#xff0c;随着人工智能技术的发展&#xff0c;一系列AI写论文网站应运而生&#xff0c;它们极大地提升了我们论文写作…