L1-2 倒数第N个字符串

news2024/11/15 8:59:58

本题链接:PTA | 程序设计类实验辅助教学平台

题目:

样例:

输入
3 7417

输出
pat

思路:

        根据题意,这道题是一道思维模拟题。

        给出 n 位的小写字母字符串,其中进制位为 26 ,求进位+1 到 倒数第 N 个后的字符串是哪一个。

        这里解决两个核心问题即可:

        1、其中求 到倒数第 N 个的字符串,第几个字符串。

        2、这里涉及到 高精度模拟 进位 + 1 的步骤。

1、结合排列特性,即可获得顺着的第 n 个字符串的 n 是多少:

// L 个字符串相互变化字符,实际是排列结果。
// 所以 根据排列,26个字符变化结果,L 个结果相乘,
// 即 26的 L 次幂为所有排列结果
// pow(26,L) - m  减去倒数第 N 个即可得到 顺着的 第 n 个字符串
int t = pow(26,L) - N;	// 这里的 t 是用于进位用的

2、参考高精度加法,高精度模拟 进位 + 1 的步骤 如下:

for(int i = 0;i < L;++i)
{
	int sum = v[i] + t;	// 开始相加
	ans.emplace_back(sum % 26);	// 相加后变化结果
	t = sum / 26;	// 进位 t
}
if(t) ans.emplace_back(t);	// 扫尾

 代码详解如下:

#include <iostream>
#include <vector>
#include <queue>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <unordered_map>
#define endl '\n'
#define int long long
#define YES puts("YES")
#define NO puts("NO")
#define umap unordered_map
#define All(x) x.begin(),x.end()
#pragma GCC optimize(3,"Ofast","inline")
#define IOS std::ios::sync_with_stdio(false),cin.tie(0), cout.tie(0)
using namespace std;
inline void solve();
signed main()
{
//	freopen("a.txt", "r", stdin);
	IOS;
	int _t = 1;
//	cin >> _t;
	while (_t--)
	{
		solve();
	}
	return 0;
}
int L,N;
inline void solve()
{
	cin >> L >> N;
	
	vector<int>v(L,0),ans;
	
	// L 个字符串相互变化字符,实际是排列结果。
	// 所以 根据排列,26个字符变化结果,L 个结果相乘,
	// 即 26的 L 次幂为所有排列结果
	// pow(26,L) - m  减去倒数第 N 个即可得到 顺着的 第 n 个字符串
	int t = pow(26,L) - N;	// 这里的 t 是用于进位用的
	for(int i = 0;i < L;++i)
	{
		int sum = v[i] + t;	// 开始相加
		ans.emplace_back(sum % 26);	// 相加后变化结果
		t = sum / 26;	// 进位 t
	}
	if(t) ans.emplace_back(t);	// 扫尾
	
	// 根据高精度加法步骤特性,倒序输出
	int len = ans.size();
	for(int i = len - 1;~i;--i)
	{
		cout << char(ans[i] + 'a');
	}
}

  最后提交:

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1546825.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

天工AI搜索引擎

相信正在看autosar架构相关内容的人来说&#xff0c;对于autosar相关知识或者配置项的生涩知识点可谓是苦之久矣&#xff0c;这个时候一个好的搜索引擎能带来的帮助太大了&#xff0c;不管是平时百度还是看文档都需要大量的时间去检索自己真正想知道的信息&#xff0c;偶然间发…

酒店管理系统【GUI/Swing+MySQL】(Java课设)

系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设&#xff01;&#xff01;&#xff01; 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址&#xff1a;https://download.csdn.net/download/qq_50954361/89036287 更多系统资源库…

Windows 频繁失去焦点分析

原文&#xff1a;https://blog.iyatt.com/?p14383 1 前言 刚才在打字的时候发现会随机失去焦点&#xff0c;然后又要用鼠标点一下正在输入的位置才能继续输入&#xff0c;特别烦。开始我怀疑是手碰到触摸板导致失去焦点&#xff0c;但是我用了差不多十年带触摸板的笔记本电脑…

Python框架篇(7):FastApi-依赖项

有时选择太多也会让人陷入焦虑&#xff0c;比如突然有一段自由时间&#xff0c;却因为想做的事情太多&#xff0c;最后把时间都浪费在了摇摆不定上&#xff0c;静不下心做最重要的事&#xff0c;或者说根本不知道最重要的事情是什么。---------- 《认知觉醒:开启自我改变的原动…

【干货】无源滤波器设计讲解,工作原理+设计步骤

今天给大家分享的是&#xff1a;无源模拟滤波器针对很多入门小白不懂滤波器设计&#xff0c;一些老工程师上班很多年有的也不懂得总结知识点&#xff0c;以及想学习不知道怎么系统学习的这一类人群&#xff0c;前方知识点来袭&#xff0c;请君放心食用~ 在信号处理领域&#x…

AXI-Stream——草稿版

参考自哔站&#xff1a;FPGA IP之AXI4-Lite AXI4-Stream_哔哩哔哩_bilibili 信号 传输层级从小到大 TKEEP和TSTRB共同决定了是哪种数据流

红外循迹,避障模块介绍

本节将介绍标题中三种模块的应用以及工作原理 上图中&#xff0c;黑色的是红外接收管&#xff0c;绿色的是红外发射管&#xff0c;他俩与发光二级管都非常像&#xff0c;但功能上却有所不同。 发光二级管&#xff1a;亮度在一定的时间内随电流的增大而增大。 红外发射管&…

Python遥感开发之解决TIF数据之间行列不一致的问题

Python遥感开发之解决TIF数据之间行列不一致的问题 1.问题如图所示2.完整代码如下所示 前言&#xff1a;主要解决在同一分辨率的情况下&#xff0c;遥感数据之间行和列数据不一致的问题。 1.问题如图所示 我们发现这两个TIF的分辨率是一样的&#xff0c;都是0.01x0.01&#xff…

软考软件设计师2024年5月报名流程及注意事项

2024年5月软考软件设计师报名入口&#xff1a; 中国计算机技术职业资格网&#xff08;http://www.ruankao.org.cn/&#xff09; 2024年软考报名时间暂未公布&#xff0c;考试时间上半年为5月25日到28日&#xff0c;下半年考试时间为11月9日到12日。不想错过考试最新消息的考友…

Django(三)-搭建第一个应用(2)

一、编写更多视图 问题详情页——展示某个投票的问题和不带结果的选项列表。问题结果页——展示某个投票的结果。投票处理器——用于响应用户为某个问题的特定选项投票的操作。 # 1.问题详情页&#xff1a;展示某个投票的问题和不带结果的选项列表 def detail(request,questi…

第十二届蓝桥杯JavaB组省赛真题 - 时间显示

解题思路&#xff1a; 数量级较大&#xff0c;需要使用long类型 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);long num scan.nextLong();long allseconds num / 1000;long seconds allse…

CMake学习笔记(二)从PROJECT_BINARY_DIR看外部编译和内部编译

目录 外部编译 内部编译 总结 外部编译 看如下例子&#xff1a;我在EXE_OUT_PATH中建立了文件夹build、文件夹src2 和 文件CMakeLists.txt 其中EXE_OUT_PATH/CMakeLists.txt的内容如下&#xff1a; PROJECT(out_path) ADD_SUBDIRECTORY(src2 bin2) MESSAGE(STATUS "m…

Internet Explorer 降级

Internet Explorer 降级 1. version2. Internet Explorer 降级References 1. version 帮助 -> 关于Internet Explorer(A) 2. Internet Explorer 降级 开始 -> 控制面板 -> 卸载程序 -> 查看已安装的更新 搜索 Internet -> Internet Explorer 11 -> 卸载 -…

1978-2022年全国31省社会消费品零售总额数据

1978-2022年全国31省社会消费品零售总额数据 1、时间&#xff1a;1978-2022年 2、指标&#xff1a;社会消费品零售总额 3、范围&#xff1a;31省市 4、来源&#xff1a;整理自国家统计J和各省年鉴 5、缺失情况说明&#xff1a;1997-2022年31省市均无缺失&#xff0c; 199…

冒泡排序的习题全集(含答案)

习题1 1.给定一个包含红色&#xff0c;白色和蓝色&#xff0c;共n个元素的数组nums&#xff0c;原地对他们进行排序&#xff0c;使得相同颜色的元素相邻&#xff0c;并按照共色&#xff0c;白色&#xff0c;蓝色顺序排列。 我们使用整数0&#xff0c;1&#xff0c;2分别表示红…

2024生物科学、医学技术与化学国际会议(ICBSMTC2024)

2024生物科学、医学技术与化学国际会议(ICBSMTC2024) 会议简介 ICBSMTC2024是一个聚焦于生物科学、医学技术与化学领域的学术交流活动&#xff0c;会议将在中国桂林举行&#xff0c;会议旨在促进相关领域的学术交流与发展。会议将汇集来自世界各地的顶级学者和专家&#xff0c…

闪鱼随身WiFi好用吗?随身WiFi测评推荐!闪鱼的随身WiFi怎么样?

闪鱼随身WiFi因为爱和各大IP进行联动&#xff0c;被称为联名狂魔&#xff0c;广受年轻朋友们的喜爱。所以有非常多的朋友都在催小编出一期闪鱼随身WiFi的真实测评。现在&#xff0c;它来了&#xff01;今天我们测试的这款闪鱼随身WiFi是闪鱼旗下BK0002这个热卖的型号。 一、外观…

day01-项目概述、环境搭建

1. 软件开发整体介绍 1.1 软件开发流程 1.2 角色分工 项目经理&#xff1a;对整个项目负责&#xff0c;任务分配、把控进度产品经理&#xff1a;进行需求调研&#xff0c;输出需求调研文档、产品原型等UI设计师&#xff1a;根据产品原型输出界面效果图架构师&#xff1a;项目整…

C#调用C++ (使用C++/CLI)

简介 C/CLI&#xff08;C Common Language Infrastructure&#xff09;是一种允许在 .NET 平台上创建托管代码&#xff08;managed code&#xff09;和非托管代码&#xff08;unmanaged code&#xff09;之间互操作的语言。其原理可以概括如下&#xff1a; 编译器支持: C/CLI 编…

msvcp140.dll是什么文件?msvcp140.dll丢失的多种解决方法详细解析

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中最常见的就是“缺少xxx.dll文件”。而最近&#xff0c;有用户反映他们的电脑出现了“msvcp140.dll丢失”的问题。那么&#xff0c;msvcp140.dll是什么&#xff1f;为什么电脑会出现msvcp140.dll丢失问…