python【蓝桥杯vip练习题库】BASIC-19完美的代价(贪心算法)
试题 基础练习 完美的代价
资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。
交换的定义是:交换两个相邻的字符
例如mamad
第一次交换 ad : mamda
第二次交换 md : madma
第三次交换 ma : madam (回文!完美!)
输入格式
第一行是一个整数N,表示接下来的字符串的长度(N <= 8000)
第二行是一个字符串,长度为N.只包含小写字母
输出格式
如果可能,输出最少的交换次数。
否则输出Impossible
样例输入
5
mamad
样例输出
3
分析:
题目给的关键字是贪心算法,贪心算法关键是要找到贪心策略。对于我们这题来说,要做的事情有两件:①先判断这个字符串能不能够经过交换变成‘完美的回文字符串’,②是每一步都使用贪心策略。
判断:
对于字符串长度是偶数的字符串,每个字符的数目都是偶数,一旦出现奇数,则输出impossible。
对于字符串长度是奇数的字符串,只能有一个字符的数目是奇数,一旦出现两个,则输出impossible。
判断实现比较简单,注意减少代码复杂度(题给字符串长度范围是8000,很容易运行超
python【蓝桥杯vip练习题库】BASIC-19完美的代价(贪心算法)相关推荐
- python【蓝桥杯vip练习题库】ALGO-232找零钱(贪心 模拟)
试题 算法训练 找零钱 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 有n个人正在饭堂排队买海北鸡饭.每份海北鸡饭要25元.奇怪的是,每个人手里只有一张钞票(每张钞票的面值为25. ...
- python【蓝桥杯vip练习题库】BASIC-5查找整数
蓝桥杯这些题库的样例真的不咋地! 我打开输入样例发现,所有样例数组的最后面都多了一个空格,我不知为何! 用c++写的话应该不会有这种困扰,但是你有python如果不去掉末尾的空格的话,直接split, ...
- python【蓝桥杯vip练习题库】ALGO-90出现次数最多的整数(sys)
试题 算法训练 出现次数最多的整数 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最 ...
- python【蓝桥杯vip练习题库】ADV-233 队列操作
VIP到期了,今天开始暂时不更新了. 试题 算法提高 队列操作 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 队列操作题.根据输入的操作命令,操作队列(1)入队.(2)出队并输出 ...
- python【蓝桥杯vip练习题库】ADV-350珠心算测验
试题 算法提高 珠心算测验 资源限制 时间限制:1.0s 内存限制:256.0MB python中的for循环和c中的不一样,不如c灵活,但是可以用while实现. 既: i=0 while i< ...
- python【蓝桥杯vip练习题库】ADV-236林丹大战李宗伟
试题 算法提高 林丹大战李宗伟 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 我们用0表示林丹,1表示李宗伟. 输入数据中每行会给出一个0或者1,表示对应选手得1分. 当一方得分达 ...
- python【蓝桥杯vip练习题库】ADV-272 change(思维)
试题 算法提高 change 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 数组A中共有n个元素,初始全为0.你可以对数组进行两种操作:1.将数组中的一个元素加1:2.将数组中所有 ...
- python【蓝桥杯vip练习题库】ADV-103逆序排列
试题 算法提高 逆序排列 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,读入一组整数(不超过20个),并把它们保存在一个整型数组中.当用户输入0时,表示输入结束.然后 ...
- python【蓝桥杯vip练习题库】ADV-120 6-17复数四则运算
试题 算法提高 6-17复数四则运算 资源限制 时间限制:1.0s 内存限制:512.0MB 设计复数库,实现基本的复数加减乘除运算. 输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符分 ...
最新文章
- java不同工厂生产不同电器_完整案例分析再加知识整合——艾特抽象工厂模式,超详细的...
- vim的基本快捷操作(二)——可视模式
- commvault oracle备份,CommVault for Oracle备份和恢复.pdf
- DT CMS致力于Spring Boot2.3.5 Vue前后端分离的RBAC权限框架(盛世美颜!)
- Collection和Collections有什么区别?
- 微信头像失效_如何判断微信授权的头像是否失效
- AutoIt:工具栏中没有其它工具,eg,Koda
- ENVI App Store 下载与安装
- poj4001 Xiangqi
- 【游戏客户端】实现游戏中的小地图
- php数据库操作类库doctrine使用全攻略
- 如何创建XS Job来完成定时任务
- 解决“javac不是内部或外部命令,也不是可运行的程序”问题
- html多级列表不连续如何显示,完美解决word多级列表的编号不显示问题
- C++_开发_项目开发编码规范
- 做事很乱没有条理性,如何让自己做事更有条理?
- 怎么用频谱仪测低噪声放大器的噪声系数?
- 每个程序员1小时内必须解决的5个编程问题
- 顶点覆盖问题近似计算
- 计算机毕业设计ssm特种设备全生命周期管理系统8b729系统+程序+源码+lw+远程部署
热门文章
- ONVIF C++ 库
- VS项目属性中的C/C++运行库:MT、MTd、MD、MDd
- 生成对抗网络GANs理解(附代码)
- AVFrame中data与linesize关系
- python二叉树深度 判断平衡树
- 三丶傻妞机器人安装教程+命令+青龙面板对接傻妞
- Day 03 为什么大学生难管理时间
- Cissp-【第4章 通信与网络安全】-2021-3-12(408页-445页)
- linux上离线安装mysql_Linux下安装mysql(离线安装和在线安装)
- linux怎么测试磁盘读写,怎样测试Linux磁盘的读写速率