程序设计思维与实践 Week15 实验 D-瑞瑞爱上字符串
题目链接:D-瑞瑞爱上字符串
题目描述:
瑞瑞最近迷上了字符串,因此决定出一个字符串的题。
给定两个正整数 N、K,考虑所有由 N - 2 个 a 和 2 个 b 组成的字符串,要求输出其中字典序第 K 小的。
例如当 N = 5 时,共有如下 10 种组成方式:
1、aaabb
2、aabab
3、aabba
4、abaab
5、ababa
6、abbaa
7、baaab
8、baaba
9、babaa
10、bbaaa
Input:
多组数据,第一行给定 T,表示数据组数。(1 ≤ T ≤ 1e4)
对于每组数据,给出两个正整数 N、K。(3 ≤ N ≤ 1e5, 1 ≤ K ≤ min(2e9, N * (N-1) / 2 ))
N 的总和不会超过 1e5。
Output:
对于每组数据,输出长度为 N 的字典序第 K 小的字符串。
Sample Input:
7
5 1
5 2
5 8
5 10
3 1
3 2
20 100
Sample Output:
aaabb
aabab
baaba
bbaaa
abb
bab
aaaaabaaaaabaaaaaaaa
思路:
既然只有ab两种字符,且只有两个b,那么只需要考虑b的位置就OK了。对于n个字符,优先级顺序共有(n-1)(1+n-1)/2种。首先确定第一个b的位置,不妨令第一个b在i坐标处且在第二个左边,则第二个b的位置有n-i个,不妨使第二个b在尾端,找到不大于k的最大值,然后左移第二个b即可。
代码:
#include<iostream>
using namespace std;
const int maxn=2e5+10;
int T;
long long n,k,a,b,op;
int main(){cin>>T;while(T--){cin>>n>>k;for(long long i=1;i<=n;i++)if(i*(i+1)/2>=k){op=i;break;}for(int j=1;j<=n;j++){if(j==n-op||j==n-(k-(op-1)*op/2-1))cout<<'b';else cout<<'a';}cout<<endl;}return 0;
}
程序设计思维与实践 Week15 实验 D-瑞瑞爱上字符串相关推荐
- 程序设计思维与实践 Week15 实验
目录 A - Q 老师的记录册 输入 输出 输入样例1 输出样例1 输入样例2 输出样例2 输入样例3 输出样例3 思路 代码 B - ZJM的本领 输入 输出 样例输入1 样例输出1 样例输入2 样 ...
- 程序设计思维与实践 Week15 作业A - ZJM 与霍格沃兹
题意: ZJM 为了准备霍格沃兹的期末考试,决心背魔咒词典,一举拿下咒语翻译题 题库格式:[魔咒] 对应功能 背完题库后,ZJM 开始刷题,现共有 N 道题,每道题给出一个字符串,可能是 [魔咒],也 ...
- 程序设计思维与实践 Week15 作业 A-ZJM与霍格沃兹
题目链接:A-ZJM与霍格沃兹 题目描述: ZJM 为了准备霍格沃兹的期末考试,决心背魔咒词典,一举拿下咒语翻译题 题库格式:[魔咒] 对应功能 背完题库后,ZJM 开始刷题,现共有 N 道题,每道题 ...
- 山大程序设计思维与实践 六月模拟:猪国杀
六月模拟:猪国杀 山东大学计算机科学与技术学院程序设计思维与实践作业 山大程序设计思维与实践 sdu程序设计思维与实践 山东大学程序设计思维实践作业H 山大程序设计思维实践作业H 山东大学程序设计思维 ...
- 程序设计思维与实践 Week9 作业三道
A - 咕咕东的目录管理器 题面 咕咕东的雪梨电脑的操作系统在上个月受到宇宙射线的影响,时不时发生故障,他受不了了,想要写一个高效易用零bug的操作系统 -- 这工程量太大了,所以他定了一个小目标,从 ...
- 山东大学程序设计思维与实践 四月模拟:TT与可怜的猫
4月模拟-TT与可怜的猫 程序设计思维实践-复杂模拟题训练2 山东大学计算机科学与技术学院程序设计思维与实践 sdu程序设计思维与实践 山东大学程序设计思维实践作业 山大程序设计思维实践 山东大学程序 ...
- 山东大学计算机科学与技术学院程序设计思维与实践作业 week10-树型数据结构及其应用
山东大学计算机科学与技术学院程序设计思维与实践作业 山大程序设计思维与实践作业 sdu程序设计思维与实践 山东大学程序设计思维实践作业H10 山大程序设计思维实践作业H10 山东大学程序设计思维与实践 ...
- 山东大学计算机科学与技术学院程序设计思维与实践作业 week5-数学基础与线性结构
山东大学计算机科学与技术学院程序设计思维与实践作业 山大程序设计思维与实践作业 sdu程序设计思维与实践 山东大学程序设计思维实践作业H5 山大程序设计思维实践作业H5 山东大学程序设计思维与实践 w ...
- 程序设计思维与实践 CSP-M2 (3/4/数据班)
HRZ的序列 题意: 相较于咕咕东,瑞神是个起早贪黑的好孩子,今天早上瑞神起得很早,刷B站时看到了一个序列a,他对这个序列产生了浓厚的兴趣. 他好奇是否存在一个数K,使得一些数加上K,一些数减去K,一 ...
最新文章
- python打印表格_使用 Python 打印漂亮的表格,这两项基本功你可会?
- 使用预训练的卷积神经网络(猫狗图片分类)
- RocketMQ:消费端的消息消息队列负载均衡与重新发布机制源码解析
- Android-View点击事件短时间重复点击的过滤
- Spring面试题(70道,史上最全)
- java包名命名规则_告别编码5分钟,命名2小时!史上最全的Java命名规范参考!
- WPF 创建右键菜单
- 百度编辑器ueditor字体添加
- 一个人学习3D视觉太痛苦了怎么办?
- Flink Forward Asia 2021 延期,线上相见
- 【机器学习系列】隐马尔科夫模型第一讲:通俗易懂概述HMM
- 驾校一点通电脑版2015 v1.5 最新版
- EMC-电磁兼容-电磁骚扰的耦合机理
- php5.6.40 在 win10下安装全过程 ( 图文教程、附官方下载链接 )
- 使用USB Key Utility工具制作bootable USB Key
- 4、计算矩阵A的平方
- 交叉碳市场和 Web3 以实现再生变革
- win10如何设置有线和无线同时上内网和外网?
- 张正友标定法几个坐标系的意思
- 用java语言编写程序计算九宫图