算法提高 盾神与条状项链  
时间限制:1.0s   内存限制:256.0MB

问题描述

  有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n的项链。当他准备把项链首尾相接的时候,土方进来了。
  “哇这么恶心的项链你也做得出来!!!”
  盾神自知审美不是他的长项,于是他很谦虚地请教土方,怎么才能把项链做得漂亮。
  “这个嘛~首先你要在这里加上一个这种颜色的珠子,然后在这里去掉这个珠子,然后……,最后你看看是不是漂亮很多咧~”土方一下子说出了m个修改步骤。
  盾神觉得这个用人工做太麻烦了,于是交给了你。

输入格式

  第一行两个数,分别为n,m。
  第二行n个数,表示盾神一开始的项链。第i个数表示第i颗珠子的颜色。
  接下来m行,为以下形式之一:
  ADD P Q:表示在颜色为P的珠子前面加上一个颜色为Q的珠子。
  DEL P:表示把颜色为P的珠子去掉,如果它不在端点处,则需要把它旁边的两颗珠子连起来。例如某时刻项链状态为1 4 5 8,则执行DEL 4会变成1 5 8,执行DEL 1会变成4 5 8。
  输入保证在每次操作之前,项链有颜色为P的珠子,且任意时刻珠子颜色互不相同。

输出格式

  第一行为一个数len,为做完所有操作后,项链的长度。
  第二行len个数,表示此时项链的状态。第i个数表示第i颗珠子的颜色。

样例输入

10 5
1 2 3 4 5 6 7 8 9 10
DEL 5
ADD 7 5
DEL 10
ADD 4 20
ADD 20 12

样例输出

11
1 2 3 12 20 4 6 5 7 8 9

数据规模和约定

  表示颜色的数字不超过10^5的正数,1<=n<=10^4,1<=m<=10^4。

用vector模拟链表,进行插入和删除,但是这样做用的时间将会增多。

#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
using namespace std;int main()
{int n,m;vector <int> vec;char str[10];while(scanf("%d%d",&n,&m) != EOF){for(int i = 0; i < n; i++){int x;scanf("%d",&x);vec.push_back(x);}while(m--){int a,b,i;scanf("%s",str);if(str[0] == 'A'){scanf("%d%d",&a,&b);for(i = 0; i < vec.size(); i++)if(vec[i] == a){vec.insert(vec.begin()+ i,b);break;}}else{scanf("%d",&a);for(i = 0; i < vec.size(); i++)if(vec[i] == a){vec.erase(vec.begin()+i);break;}}}printf("%d\n",vec.size());for(int i = 0; i < vec.size(); i++){if(i != vec.size()-1)printf("%d ",vec[i]);elseprintf("%d",vec[i]);}printf("\n");}return 0;
}

蓝桥杯 算法提高 盾神与条状项链相关推荐

  1. 算法笔记_098:蓝桥杯练习 算法提高 盾神与条状项链(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n ...

  2. [Java] 蓝桥杯ADV-193 算法提高 盾神与条状项链

    问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n的项链.当他准备把项链首尾相接的时候,土方进来了. ...

  3. 蓝桥杯 ADV-193算法提高 盾神与条状项链

    问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n的项链.当他准备把项链首尾相接的时候,土方进来了. ...

  4. 蓝桥杯 ADV-193 盾神与条状项链 (试题解析)

    试题 算法提高 盾神与条状项链 提交此题   评测记录 资源限制 时间限制:1.0s   内存限制:256.0MB 问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成 ...

  5. [蓝桥杯][算法提高VIP]Sharing Chocolate(状压dp记忆化搜索)

    题目描述 每天,巧克力在它的许多形式上被全世界数百万人分享.它是一个真正普遍的糖果,实际上在世界上每个国家都能得到. 你发现唯一比吃巧克力更好的事情是把它分享给朋友.不幸的是,你的朋友非常挑剔,有着不 ...

  6. [蓝桥杯][算法提高VIP]夺宝奇兵-递推+记忆化搜索

    题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...

  7. [蓝桥杯][算法提高VIP]夺宝奇兵-dp

    题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...

  8. c语言oj题1923偶数之和,问题 1923: [蓝桥杯][算法提高VIP]学霸的迷宫 (BFS)

    题目描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要进城堡必须得先通过迷宫.因为班长还有妹子要陪,磨刀不 ...

  9. 算法提高 盾神与积木游戏

    算法提高 盾神与积木游戏   时间限制:1.0s   内存限制:256.0MB 问题描述 最近的m天盾神都去幼儿园陪小朋友们玩去了~ 每个小朋友都拿到了一些积木,他们各自需要不同数量的积木来拼一些他们 ...

  10. JAVA 蓝桥杯 算法提高 阮小二买彩票

    JAVA 蓝桥杯 算法提高 阮小二买彩票 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电 ...

最新文章

  1. Robot 3D Map Navigation
  2. 使用Prometheus和Grafana实现SLO
  3. 基片集成波导原理_图解分析:华为1:8 PLC分光器及石英基板集成波导光功率分配器...
  4. 解决TypeError: Tensor is unhashable if Tensor equality is enabled. Instead, use tensor.experimental_re
  5. JAVA并发编程: CAS和AQS
  6. 安卓-04-实例01-XML布局UI界面
  7. MySQl Got a packet bigger than ' max_allowed_packet' bytes
  8. mysql三高教程(二):2.7 如何约束数据
  9. 使用Jquery+CSS如何创建流动导航菜单-Fluid Navigation
  10. 使用select和show命令查看mysql数据库系统信息
  11. win10安装MySql教程
  12. WinMap+ | 稳马企业金服基于C4B理论的绿色金融生态区块链探索
  13. 互亿无线短信接口开发
  14. vs2003在win7+后pdb锁住报LNK1201解决方案
  15. 电脑网速,别把宽带浪费了,一招提升电脑网速
  16. 2011—2019年软考中级数据库系统工程师历年真题
  17. spring静态资源配置
  18. 360锁屏壁纸在哪个文件夹
  19. TDA4VM PDK应用笔记
  20. 大数据分析实战之异构数据源联合分析业务创新实践

热门文章

  1. 2021-06-16 解决MDK5使用STLINK下载不进去程序报错的问题
  2. 笔记本光驱改固态硬盘装系统小记
  3. 动态内存分配算法:首次适应算法,循环首次适应算法,最坏适应算法,最佳适应算法实现
  4. rampUp时间 jmeter
  5. IT行业主要职业有什么?
  6. Hibernate使用手册(官网)
  7. 科学管理之父——泰勒的故事
  8. 美通企业日报 | 拜耳健康消费品中国研发中心开幕;TCL上半年电视机销量稳居全球第二...
  9. 基于aircrack-ng、crunch的wifi握手包爆破
  10. Paul Graham:如何做好天使投资