CF708A Letters Cyclic Shift

题目链接:CF708A Letters Cyclic Shift

题意:一次变换指将字母变为它前面一个字母,例如a变成zb变成a,给定字符串,找出一个非空子串进行变换使得改变后字典序尽可能小

要求字典序最小,首先想到从最左端开始改变

那么这样做一定是最小的吗?例如下面这种

aabcdefabb

如果改变了第一个字符a,它会变成z,字典序不降反升

我们可以初步得到结论,从第一个不为a的位置开始改变,能得到最小结果

再看题目,要求改变的是非空子串,因此只能改变到下一个不为a的位置

因此aabcdefabb改变后变为aaabcdeabb

还有一种情况要特判 例如aaaaa

题目要求你必须选择一个非空子串,这种情况只要把最后一个字符改变就行了

代码如下

#include<bits/stdc++.h>
using namespace std;
#define R register
string s;
bool flag;
signed main()
{cin>>s;for(R int i=0; i<s.size(); i++)if(s[i]^97) //s[i]!='a'{s[i]--;flag=1;}else if(flag) return cout<<s,0;if(!flag)s[s.size()-1]='z';//特判cout<<s;return 0;
}

转载请说明出处

CF708A Letters Cyclic Shift 题解相关推荐

  1. Codeforces Problem 708A Letters Cyclic Shift(implementation)

    此文章可以使用目录功能哟↑(点击上方[+]) 比赛链接→AIM Tech Round 3 (Div. 1)  Codeforces Problem 708A Letters Cyclic Shift ...

  2. codeforces 708A - Letters Cyclic Shift

    问题描述 题目链接:http://codeforces.com/problemset/problem/708/A 输入字符串, 用至少一个长度的子串,按照一定规则将原字符串替换,使得变化后的字符串的字 ...

  3. ECJTUACM16 Winter vacation training #4 题解源码

    https://vjudge.net/contest/149692#overview 这周一VJ比赛,题解&源码已完成! A.................................. ...

  4. 2016区域赛前冲刺训练

    UPD 2016.10.23 shift-and (2题) Codeforces 训练 现在已经完成了: 191 [Codeforces Round #377] (6/6) Div 2 A Buy a ...

  5. Reordering the Cows

    牛客网传送 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format:%lld 链接:https://ac.nowcode ...

  6. Codeforces Round #376 (Div. 2) D. 80-th Level Archeology —— 差分法 + 线段扫描法

    题目链接:http://codeforces.com/contest/731/problem/D D. 80-th Level Archeology time limit per test 2 sec ...

  7. ZJOI2018游记Round1

    广告 ZJOI2018Round2游记 All Falls Down 非常感谢学弟学妹们捧场游记虽然这是一篇假游记 ZJOI Round1今天正式落下帷幕.在这过去的三天里遇到了很多朋友,见识了很多有 ...

  8. Coderforces 字符串水题合集

    今天我们聊聊 Coderforces 字符串水题合集. 字符串就是string. 这是string的百度翻译,我们要谈的是画框的.↓ string是C++.java.VB等编程语言中的字符串,字符串是 ...

  9. 深度学习的第一性原理!

    [专栏:研究思路]我们认为,人工智能进入了新的拐点.在一个后深度学习时代,不同的学者对未来智能发展道路的理解逐渐清晰,当然也逐渐开始分化,由此导致了开展布局完全不同的研究工作.智源社区将系统分析全球范 ...

最新文章

  1. 【摘录】GestureDector使用
  2. python 调用gpu算力_GPU捉襟见肘还想训练大批量模型?谁说不可以
  3. RStudio修改快捷键确保每次运行都是从头运行所有代码
  4. Java——demo之仿ATM操作
  5. 使用js在桌面上写一个倒计时器_论一个倒计时器的性能优化之路
  6. mysql数据库 uft8_unicode_ci是utf8吗_MysQL数据库中utf8_unicode_ci与utf8_general_ci的区别
  7. 北航、商汤提出的网络二值化新算法 IR-Net,到底好使不?
  8. P1280 尼克的任务
  9. 安装qt5后编译运行后有关Qt at-spi的警告
  10. Java Web开发入门 - 第2章 HTTP协议单元作业
  11. 【Linux】grep命令
  12. umask设置导致的weblogic中的应用上传的文件没有权限打开
  13. AndroidStudio3.0多渠道打包
  14. php编译后漏掉一些参数怎么办
  15. 为什么对抗生成网络(GAN)被誉为过去20年来深度学习中最酷的想法?
  16. 华为员工工作生活及待遇全面揭秘
  17. 2020大学生就业报告:IT行业人才缺口巨大,好就业
  18. spring boot整合微信支付
  19. prometheus 监控交换机流量
  20. Linux系统管理技巧2

热门文章

  1. nimble 2 蓝牙开发API
  2. c语言ccf认证考试题库,2016ccf认证考试试题
  3. 怎样利用SEO查询提升品牌知名度?
  4. elementUI radio选中样式修改为勾勾
  5. 梳理研发过程中的各种端到端流程
  6. 在线SQL转JSON工具
  7. linux挂载目录分配大小,linux挂载点的容量设置
  8. 怎样把书读得“四通八达”?(文/王路)
  9. 手机浏览器css差异问题,手机和桌面之间的CSS行高属性差异
  10. 【Pandas】Pandas的时间与日期