蓝桥杯训练赛二-1467 问题 F: 蓝桥杯基础练习VIP-完美的代价
题目描述
交换的定义是:交换两个相邻的字符
例如mamad
第一次交换 ad : mamda
第二次交换 md : madma
第三次交换 ma : madam (回文!完美!)
输入
第二行是一个字符串,长度为N.只包含小写字母
输出
否则输出Impossible
样例输入
5
mamad
样例输出
3
1 MAX = 100000000
2
3 def rfind(s, l, r, v):
4 for i in range(r, l-1, -1):
5 if s[i] == v:
6 return i
7 return -1
8
9 def move(s, fr, to):
10 for i in range(fr, to):
11 s[i], s[i+1] = s[i+1], s[i]
12
13 def f(s):
14 n = len(s)
15 res = 0
16 r = n - 1
17 for i in range(n//2):
18 lst = rfind(s, i+1, r, s[i])
19 if lst <= i:
20 if n % 2 == 0:
21 return MAX
22 else:
23 res += (r - i) // 2
24 else:
25 res += r - lst
26 move(s, lst, r)
27 r -= 1
28 pass
29
30 return res
31
32
33
34 n = int(input())
35 s = list(input())
36 r = f(s)
37 if r < MAX:
38 print(r)
39 else:
40 print('Impossible')
蓝桥杯训练赛二-1467 问题 F: 蓝桥杯基础练习VIP-完美的代价的更多相关文章
- HDU 4902 Nice boat 2014杭电多校训练赛第四场F题(线段树区间更新)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4902 解题报告:输入一个序列,然后有q次操作,操作有两种,第一种是把区间 (l,r) 变成x,第二种是 ...
- 连号区间数【第四届蓝桥杯省赛C++B组,第四届蓝桥杯省赛JAVAB组】
连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在 \(1∼N\) 的某个排列中有多少个连号区间呢? 这里所说的连号区间的定义是: 如果区间 \([L,R]\) 里的所有元素(即此排列的第 ...
- 买不到的数目【第四届蓝桥杯省赛C++A组,第四届蓝桥杯省赛JAVAC组】
买不到的数目 小明开了一家糖果店. 他别出心裁:把水果糖包成4颗一包和7颗一包的两种. 糖果不能拆包卖. 小朋友来买糖的时候,他就用这两种包装来组合. 当然有些糖果数目是无法组合出来的,比如要买 10 ...
- ★k倍区间【第八届蓝桥杯省赛C++B组,第八届蓝桥杯省赛JAVAB组】
k倍区间 给定一个长度为 \(N\) 的数列,\(A1,A2,-AN\),如果其中一段连续的子序列 \(Ai,Ai+1,-Aj\) 之和是 \(K\) 的倍数,我们就称这个区间 \([i,j]\)是 ...
- 蓝桥杯 基础练习 BASIC-19 完美的代价
基础练习 完美的代价 时间限制:1.0s 内存限制:512.0MB 问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的.小龙龙认为回文串才是完美的.现在给你一个串,它不一定 ...
- Python解答蓝桥杯省赛真题之从入门到真题(二刷题目一直更新)
蓝桥刷题 原文链接: https://github.com/libo-sober/LanQiaoCup Python解答蓝桥杯省赛真题之从入门到真题 不同字串 """ 一 ...
- 2021蓝桥杯省赛B组(C/C++)E.路径【最短路DP】
2021蓝桥杯省赛B组题目(C/C++)E.路径 最短路径, 因为变化情况比较多, 所以开始想的是深搜, 但是太慢了, 跑不出来, 后来就想着优化一下, 有的地方到另一个地方可能会考虑很多遍, 于是考 ...
- 52-2018 蓝桥杯省赛 B 组模拟赛(一)java
最近蒜头君喜欢上了U型数字,所谓U型数字,就是这个数字的每一位先严格单调递减,后严格单调递增.比如 212212 就是一个U型数字,但是 333333, 9898, 567567, 313133131 ...
- 第九届蓝桥杯国赛+第二天的第11届acm省赛的总结
第九届蓝桥杯国赛+第二天的第11届acm省赛的总结 25号坐的去北京的火车,10个小时的火车,然后挤了快两个小时的地铁,最终达到了中国矿业大学旁边的订的房间.12个小时很难受,晕车症状有点严重,吃了快 ...
- 计蒜客蓝桥杯模拟赛 后缀字符串:STL_map+贪心
问题描述 一天蒜头君得到 n 个字符串 si,每个字符串的长度都不超过 10. 蒜头君在想,在这 n 个字符串中,以 si 为后缀的字符串有多少个呢? 输入格式 第一行输入一个整数 n. 接下来 ...
随机推荐
- 在线设计器 DesignO 的分析
需求分析 现有POD网站的在线编辑器不是很好用. 可配置性不强,素材无法在后台实现管理 可扩展性不强,无法应用于多个行业,比如包装.服装 产品分析 官方网站:https://www.designnbu ...
- svn拉取出现目标机器积极拒绝,无法连接
问题如图: 前言 这边服务器环境上的SVN仓库地址不能连接,不能提交代码和下载代码了,错误内容就是"由于目标计算机积极拒绝,无法连接.." 出错的原因 询问了相关的事项,知道了这次 ...
- flask 项目构建
创建虚拟环境 mkvirtualenv 环境名 安装所需要的包 pip install flask == 0.12.4 pip install redis pip install flask-ses ...
- [Python灰帽子-黑客与逆向工程师的Python编程之道]书籍
[Python灰帽子-黑客与逆向工程师的Python编程之道]PDF高清版免费下载地址 提取码:76aw 内容简介 · · · · · · <Python灰帽子>是由知名安全机构Immu ...
- matplotlib 在同一张图中显示两种图例
L1=plt.legend(['ManyShot','FewShot'],loc='upper left') #保存为L1 plt.legend(['ManyShot','FewShot'],loc= ...
- mybatis批量查询
<foreach collection="list" item="item" open="(" separator=",&q ...
- Spring全家桶(一)之Spring总结
0. Spring常用注解汇总 Spring常用注解汇总 使用注解之前要开启自动扫描功能,其中base-package为需要扫描的包(含子包). <context:component-scan ...
- foreach的异步(async,await)的问题及其处理方式
开发中遇见个难题很苦恼,好在我解决了,只要能解决我就很开心 本篇文章从forEach方法 到promise 到async await统统理解个遍,进入正题 先看下面代码会出现什么问题: const a ...
- docker 部署mongodb 并建立用户和授权数据库
docker pull mongo:4.4.8 (拉取镜像) docker run --name mongo -v /data/mongo-data:/data/db -p 27018:27017 - ...
- mysql生成随机数的函数
例:update [tablename] set [columnname] = FLOOR( 6546541 + RAND() * (987987989 - 6546541)) where ? FLO ...