Description 
定义两个小写字母之间的距离为这两个字母在字母表中的距离,如dis(a,z)=25,dis(a,c)=2,两个长度相同串的距离为这两个串对应位置字母距离之和。现给出一个长度为n的串s和一个距离k,问是否存在一个长度为n的串ss,使得dis(s,ss)=k,如果存在任意输出一解,如果不存在则输出-1 
Input 
第一行为两个整数n,k(1<=n<=10^5,1<=k<=10^6),第二行为一长度为n的仅包含小写字母的字符串 
Output 
如果存在一个长度为n的串ss,使得dis(s,ss)=k则输出ss,如果不存在则输出-1 
Sample Input 
4 26 
bear 
Sample Output 
roar

解题报告:

直接贪心即可,超过m的就让他变为a,没超过m的就让他变为z,注意可能是变不到极端,k就=0了,所以需要特判一下。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define FF first
#define SS second
#define ll long long
#define pb push_back
#define pm make_pair
using namespace std;
typedef pair<int,int> PII;
const int MAX = 2e5 + 5;
int n,k;
char s[MAX],ans[MAX];
int main()
{cin>>n>>k;cin>>s+1;for(int i = 1; i<=n; i++) {if(k) {if(s[i] <= 'm') ans[i] = min(s[i] + k,(int)'z'),k -= ans[i] - s[i];else ans[i] = max(s[i]-k,(int)'a'),k -= s[i] - ans[i];}else ans[i] = s[i];}ans[n+1]=0;if(k) puts("-1");else printf("%s\n",ans+1);return 0 ;
}

【CodeForces - 628C】Bear and String Distance(贪心,构造)相关推荐

  1. Codeforces 673D Bear and Two Paths (贪心构造)

    题意 给出n个点,给出a,b,c,d,求能不能用少于m的边构成两条欧拉路 一条从a开始到b一条从c开始到d. 思路 因为m只有上限没有下限,我们贪心的构造就可以了,也就是说除了a,b,c,d其他的点都 ...

  2. CodeForces - 1364C Ehab and Prefix MEX(贪心+构造)

    题目链接:点击查看 题目大意:给出一个数组 a ,要求构造一个数组 b ,使得 a[ i ] = MEX{ b[ 1 ] , b[ 2 ] , ... b[ i - 1 ] , b[ i ] },a[ ...

  3. 【CodeForces - 746E】Numbers Exchange(贪心构造)

    题干: Eugeny has n cards, each of them has exactly one integer written on it. Eugeny wants to exchange ...

  4. CodeForces 1610H Squid Game(延迟贪心 + 构造 + 树状数组)

    problem 洛谷链接 solution 考虑重新随便钦定一个点为"根",并且强制根必须是关键点. 则所有 x−yx-yx−y 不是直系祖先-子代的要求(要求Ⅰ),即 xxx 不 ...

  5. codeforces B. Pasha and String(贪心)

    题意:给定一个长度为len的字符序列,然后是n个整数,对于每一个整数ai, 将字符序列区间为[ai,len-ai+1]进行反转.求出经过n次反转之后的序列! 1 /* 2 思路1:将区间为偶数次的直接 ...

  6. 贪心+构造 Codeforces Round #277 (Div. 2) C. Palindrome Transformation

    题目传送门 1 /* 2 贪心+构造:因为是对称的,可以全都左一半考虑,过程很简单,但是能想到就很难了 3 */ 4 /**************************************** ...

  7. 【VK Cup 2016 - Round 1 (Div 2 Edition)C】【构造】Bear and Forgotten Tree 3 构造一棵树直径为d且点1的深度为h

    Bear and Forgotten Tree 3 time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  8. 2021年度训练联盟热身训练赛第五场 H题In-place Sorting+贪心构造

    题意: 给你n个小于101810^{18}1018的大数,问在可以再不改变序列位置,之改变数值中某数位的'9'变为'6'或将'6'变为'9',求的最终序列由小到大,且字典序最小. 题目: 链接:htt ...

  9. 【牛客 - 318G】LLLYYY的数字思维 与【牛客 - 289J】这是一个沙雕题II(贪心构造)

    题干: LLLYYY很喜欢写暴力模拟贪心思维.某一天在机房,他突然抛给了队友ppq一 个问题.问题如下: 有一个函数f (): int f(int x){     int tmp = 0;     w ...

最新文章

  1. 有关git clone 下载速度变慢的解决方法
  2. Nor 与Nand Flash 区别
  3. python索引右往左_[Python笔记]序列(一)索引、分片
  4. 表分区MySQL版本:5.5.11比5.1查询速度明显提高(4倍左右)
  5. Tensorflow 2.0的新特性
  6. excel合并同类项数据求和
  7. 计算机接口控制采集时序图,自动站实时数据质量控制
  8. 老王讲设计模式(一)——策略模式
  9. 四川农大2020计算机专业录取分数线,四川农业大学2020年在全国各省市分专业录取分数线!含艺体类!...
  10. 使用migration创建表时,出错的解决方法
  11. matlab方差分析
  12. 软件工程毕业设计选题c语言,经典软件工程专业论文选题 软件工程专业论文题目选什么比较好...
  13. 基于hutool实现简单的加解密
  14. ie浏览器java 脚本下载_用IE浏览器时不断出现Java活动脚本功能出错问题
  15. JavaScript完成简单的对联广告
  16. python下载和pycharm下载
  17. NLP入门学习3——句法分析(基于LTP4)
  18. 计算机黑屏无法启动,电脑黑屏无法启动
  19. 关于小程序上传图片到服务器
  20. MacOS苹果系统下Chrome谷歌浏览器缓存目录

热门文章

  1. 简述用UCenter整合第三方应用程序
  2. WPF - 自定义标记扩展
  3. 关于application title一直是untitled的问题
  4. ZOJ -3203 三分+数学
  5. 第一批升级鸿蒙系统,鸿蒙系统公开了第一批升级名单,果粉认为不地道
  6. 平板电脑可以插u盘吗_电视TV盒子安装app的六个方法,u盘/电脑/手机都可以安装...
  7. 1555C. Coin Rows
  8. linux 磁盘科隆,上海第二工业大学嵌入式操作系统B复习(无答案版)
  9. java 数字信号_数字信号处理理论及C++和Java实现 数字信号处理理论算法与实现...
  10. HTTP代理原理以及HTTP隧道技术