蓝桥杯每日一题2023.9.16

2023-09-16 19:38:53

蓝桥杯2022年第十三届省赛真题-X进制减法 - C语言网 (dotcpp.com)

题目描述

进制规定了数字在数位上逢几进一。

X 进制是一种很神奇的进制,因为其每一数位的进制并不固定!例如说某种 X 进制数,最低数位为二进制,第二数位为十进制,第三数位为八进制,则 X 进制数 321 转换为十进制数为 65。

现在有两个 X 进制表示的整数 A 和 B,但是其具体每一数位的进制还不确定,只知道 A 和 B 是同一进制规则,且每一数位最高为 N 进制,最低为二进制。请你算出 A − B 的结果最小可能是多少。

请注意,你需要保证 A 和 B 在 X 进制下都是合法的,即每一数位上的数字要小于其进制。 

分析

 可知对于A - B取到最小值需要其进制数取到最小

(以下为参考文章)

选取最小进制
选取其中最大的进制是因为A与B同进制,要保证进制合法
因此两者数据间只有选最大的那个数据才能保证两者相同
比如 6与8,我们只有选择8的进制我们才能同步两者的进制.
是在保证进制合法的情况下选择最小的进制
而题目意思中的十进制输入只是我们认为输入的数据,但是题设中的意思是我们实际上不知道它是什么进制
而为了所求相减最小,我们就选最小的进制,也就是保证两者相同时选择最小的进制,也就是加1.
加1是因为如果仅仅赋值输入的数据不可能的,注意有进位这个东西,不加1数据早就进位了
如我们看到的9这个数字,那么它最小的进制只可能是10,如果是9进制,是会直接进位的,
这样我们是看不见这个数字9的,看见的是进位后的结果

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10, M = 1000000007; 
ll n, ma, mb, sum, a[N], b[N], jz[N];
int main()
{
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	cin >> n;
	cin >> ma;
	for(int i = ma; i >= 1; i --)cin >> a[i];
	cin >> mb;
	for(int i = mb; i >= 1; i --)cin >> b[i];
	//以下为找最小进制的过程,由于A >= B 
	for(int i = ma; i >= 1; i --)
	{
		jz[i] = max(max(a[i] + 1, b[i] + 1), 2ll);//最小为二进制 
	}
	for(int i = ma; i >= 2;  i--)
	{
		sum = ((sum + a[i] - b[i]) * jz[i - 1]) % M; 
	}
	sum += (a[1] - b[1]);//最低为直接将结果加起来 
	sum %= M;
	cout << sum;
	return 0;
}
更多推荐

易基因|ONT:三代原核甲基化在痤疮杆菌噬菌体表观遗传印迹中的工程选择性研究

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。痤疮表皮杆菌(Cutibacteriumacnes,C.acnes)是一种革兰氏阳性细菌,是人类皮肤微生物组成员。尽管是最丰富的皮肤共生体,但某些成员与常见的炎症性疾病(如痤疮)有关。各种C.acnes分支的完整基因组序列可以鉴定推定的甲基转移酶,其中一些可

如何用CRM软件系统提升销售成绩

现如今,不少企业通过办公软件优化业务效率,加强销售管理。其中CRM销售管理系统能够有效提升销售人员的工作效率,提高销售成功率。为什么CRM系统能够提升销售业绩?下面小编从三个方面来概括说一下:为什么CRM系统能够提升销售业绩?1、CRM系统帮助企业建立“以客户为中心”的商业策略。传统企业大多是“以产品为中心,只管推出产

群晖 Docker版qbittorrent 下载显示错误 解决方法

这些天在折腾AIO玩,PVE虚拟机底层,核显直通,群晖安装,免不了踩些坑。今天写篇博客,讲述一下群晖Docker版qbittorrent下载显示错误的解决方法,顺便记录一下配置,以便日后折腾可以参考。直接说结论如果下载显示错误,并且由于自己更改了存储路径,那多半是由于权限设置。去相关的文件夹中添加Owner用户的完全控

透过《眼睛的故事》:需求为何成为纪录片的“价值锚点”?

我们正处在一个内容过载、追求流量的时代。对于观众来说,这是幸运的,也是不幸的。一方面,相比以前能接受到的内容指数级增长,自己的视野无限扩大,但另一方面,“流量思维”下粗制滥制的内容不在少数,对观众来说极其不友好。在内容极为丰盛的时代,观众越来越占主导地位。早在1935年,诺贝尔经济学奖得主哈耶克就提出了“soverei

springboot 调用第三方接口的方式(一)使用RestTemplate方法

简介常用的调用第三方接口的方式:方式一:使用RestTemplate方法方式二:使用原始httpClient请求方式三:使用Feign进行消费通过HTTPClient进行访问第三方接口。但是过程比较复杂,Feign比较适合在springCLoud多模块项目中使用,所以平时基本都是使用RestTemplate方式,这样比

如何使用正则表达式实现Java日志信息的抓取与收集

首先,什么是Java日志信息?简单来说,Java应用程序在运行过程中会输出一些信息,这些信息可以用来追踪程序运行状态、调试错误等。而Java日志信息就是这些输出信息的集合。那么为什么要抓取和收集Java日志信息呢?一方面,这些信息可以帮助我们更好地了解程序的运行情况,及时发现和解决问题;另一方面,对于大型应用程序来说,

Leetcode 01-算法入门与数组-③数组排序

LeetCode01-算法入门与数组-③数组排序一.冒泡排序1.冒泡排序算法思想冒泡排序(BubbleSort)基本思想:经过多次迭代,通过相邻元素之间的比较与交换,使值较小的元素逐步从后面移到前面,值较大的元素从前面移到后面。这个过程就像水底的气泡一样从底部向上「冒泡」到水面,这也是冒泡排序法名字的由来。接下来,我们

打破JSON的束缚:探寻Spring @JsonComponent的灵活性和扩展性

文章首发地址在Spring框架中,@JsonComponent注解用于自定义JSON序列化和反序列化的组件。它可以将一个类标记为一个Json组件,然后在对象的序列化和反序列化过程中,使用自定义的方式来处理JSON数据。使用@JsonComponent注解,需要创建一个类,并使用其中的@JsonComponent注解进行

使用 docker buildx 构建跨平台镜像 (QEMU/buildx/build)

目录1.使用buildx构建跨平台镜像1.1.简介1.2.安装1.3.构建跨平台镜像1.4.跨平台镜像构建策略1.4.1.在内核中使用QEMU仿真支持1.4.2.使用相同的构建器实例在多个本机节点上构建。1.4.3.使用Dockerfile中的多阶段构建,交叉编译到不同的平台架构中。1.5.创建builder1.6.启

Vue系列(四)之 Vue路由介绍和Node.js的环境搭建

目录一.Vue路由1.1Vue路由是什么1.2SPA是什么1.3Vue路由的使用步骤二.Node.js环境搭建2.1Node.js是什么2.2npm是什么2.3Node.js环境搭建1.下载Node.js2.解压3.配置环境变量4.配置npm全局模块路径和cache默认安装位置5.修改npm镜像提高下载速度6.验证安装

MFC扩展库BCGControlBar Pro v33.6亮点 - 流程图、Ribbon Bar功能升级

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。BCGControlBar专业版v33.6已正式发布了,此版本包含了对图表组件的改进、带隐藏标签的单类功能区栏,标签控制通知徽章和其他新功能、改进等。最新版点击

热文推荐