蓝桥杯刷题DAY3:Horner 法则 前缀和+差分数组 贪心

所谓刷题,最重要的就是细心

📌 题目描述

X 进制 中,每一数位的进制不固定。例如:

  • 最低位 采用 2 进制
  • 第二位 采用 10 进制
  • 第三位 采用 8 进制

X 进制数 321 的十进制值为:

3×(10×8)+2×8+1=65

现在,给定两个以 X 进制表示的整数 A 和 B,它们的每一数位的进制上限为 N 进制,下限为 2 进制,你需要计算:

A−B

十进制下的最小可能值,并输出 模 10^9+7 后的结果


📌 输入格式

  • 第一行:一个正整数 N(表示最高进制)。
  • 第二行:一个正整数 Ma(表示 X 进制数 A 的位数)。
  • 第三行Ma 个用空格分隔的整数(表示 A 的各个位,从 高位到低位)。
  • 第四行:一个正整数 Mb(表示 X 进制数 B 的位数)。
  • 第五行Mb 个用空格分隔的整数(表示 B 的各个位,从 高位到低位)。

📌 输出格式

  • 输出 一个整数,表示 A - B 的最小可能值,转换为十进制后模 10^9+7 的结果。

📌 输入输出示例

输入

11 3 10 4 0 3 1 2 0

输出

94


📌 题目说明

  1. 你需要 找到最小的进制分配方案,使得 A - B 最小
    • 每一位的进制必须 ≥ max(1, A[i], B[i]) + 1(确保 A 和 B 的每一位都是合法的)。
    • 每一位的进制不能小于 2(最小是二进制)。
    • 最优解 是选择 尽可能小的进制,这样计算出的 A 和 B 的十进制值最小,从而 A - B 也最小。
  2. 进制计算方式
    • 例如,若 A = [10, 4, 0]B = [1, 2, 0]
    • 进制可以选择:d = [11, 5, 2]
    • 计算: A10=10×(5×2)+4×2+0=108  B10​=1×(5×2)+2×2+0=14
    • 最终 A - B = 108 - 14 = 94

📌 约束条件

  • 对于 30% 的数据
    • N≤10
    • 1≤Ma,Mb≤8
  • 对于 100% 的数据
    • 2≤N≤1000
    • 1≤Ma,Mb≤100000
    • 保证 A ≥ B
  • 运行限制
    • C++ / C / Java / Python3
    • 最大运行时间:1s
    • 最大运行内存:256MB
import os
import sys# 请在此输入您的代码if __name__=="__main__":mod = 1000000007N=int(input())Ma=int(input())A= list(map(int,input().split()))Mb=int(input())B= list(map(int,input().split()))for i in range(Ma-Mb):B.insert(0,0)result=0for i in range(Ma):if i==Ma-1:result= (1)*(result+A[i]-B[i])%modelse:result= (max(1,A[i+1],B[i+1])+1)*(result+A[i]-B[i])%modprint(result%mod)

字符迁移【算法赛】

题目描述
小蓝最近获得了一个长度为 N 的字符串 S,他对它爱不释手。
小桥为了考验小蓝对字符串的处理能力,决定给他提出一个挑战:她会进行 Q 次操作,每次操作给定三个整数 l, r, k,将 S 的第 l 个字符到第 r 个字符都循环右移 k 次。

字符右移的含义为:按照字母表顺序进行移动,例如:

'a' 右移 1 次变为 'b';
'b' 右移 2 次变为 'd';
特别地,'z' 右移 1 次变回 'a'。
操作完成后,请输出字符串 S 的最终结果。

输入格式
第一行输入两个整数 N, Q
(1 ≤ N, Q ≤ 2×10<sup>5</sup>),表示字符串 S 的长度以及操作次数。

第二行输入一个字符串 S,保证 S 只包含小写字母。

接下来 Q 行,每行输入三个整数 l, r, k
(1 ≤ l ≤ r ≤ N, 1 ≤ k ≤ 10<sup>9</sup>),表示一次操作:将 S 中第 l 个字符到第 r 个字符循环右移 k 次。

输出格式
输出一个字符串,表示操作完成后的 S。

输入样例
5 3
abcde
1 5 3
1 2 4
2 5 3
输出样例
hlijk
运行限制
Python3:最大运行时间 3s,最大运行内存 256M

import os
import sys# 请在此输入您的代码if __name__=="__main__":N,Q=map(int,input().split())S = list(input())n=len(S)d=[0]*(n+1)s=[0]*nfor i in range(Q):l,r,k=map(int,input().split())d[l-1]+=kd[r]-=kfor i in range(n):if i==0:s[i]=d[i]else:s[i]=s[i-1]+d[i]for i in range(n):S[i]=  chr(( s[i] +( ord(S[i]) - ord('a') ))%26 + ord('a') )print("".join(S))

食堂 

题目描述

S 学校里一共有
a2​ 个两人寝、
a3​ 个三人寝、
a4​ 个四人寝。食堂里有
b4 个四人桌和
b6​ 个六人桌。学校想要安排学生们在食堂用餐,并且满足每个寝室里的同学都在同一桌就坐。请问这个食堂最多同时满足多少同学用餐?


输入格式

采用多组数据输入。
输入共 q+1 行:

  • 第一行为一个正整数 q,表示数据组数。

  • 后面 q 行,每行五个非负整数 a2,a3,a4,b4,b6,表示一组数据。


输出格式

输出共 q 行,每行一个整数,表示对应输入数据的答案。


样例输入

2  
3 0 1 0 1  
0 2 2 1 1  

样例输出

6  
10  

样例说明

  1. 第一组数据

    • 仅有一个六人桌,最多安排三个两人寝的同学就餐。

    • 答案为 2+2+2=6。

  2. 第二组数据

    • 用一个六人桌安排两个三人寝的同学,用一个四人桌安排一个四人寝的同学。

    • 答案为 (3+3)+4=10。


评测用例规模与约定

  1. 20% 的评测用例

    • 保证 a2+a3+a4≤8。

  2. 100% 的评测用例

    • 保证 q≤100,b4+b6≤a2+a3+a4≤100。


运行限制

语言最大运行时间最大运行内存
C++1s256M
C1s256M
Java3s512M
Python310s512M

import os
import sys# 请在此输入您的代码if __name__=="__main__":q= int(input())for i in range(q):a2,a3,a4,b4,b6=map(int,input().split())total=0tmp=min(a4,b4)total+=tmp*4a4-=tmpb4-=tmptmp=min(a2,a4,b6)total+=tmp*6a2-=tmpa4-=tmpb6-=tmptmp=min(a3//2,b6)total+=tmp*6a3-=tmp*2b6-=tmptmp=min(a2//2,b4)total+=tmp*4a2-=tmp*2b4-=tmptmp=min(a2//3,b6)total+=tmp*6a2-=tmp*3b6-=tmptmp=min(a2,a3,b6)total+=tmp*5a2-=tmpa3-=tmpb6-=tmptmp=min(a4,b6)total+=tmp*4a4-=tmpb6-=tmptmp=min(a2//2,b6)total+=tmp*4a2-=tmp*2b6-=tmptmp=min(a3,b4)total+=tmp*3a3-=tmpb4-=tmptmp=min(a3,b6)total+=tmp*3a3-=tmpb6-=tmptmp=min(a2,b4)total+=tmp*2a2-=tmpb4-=tmptmp=min(a2,b6)total+=tmp*2a2-=tmpb6-=tmpprint(total)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用VCS对Verilog/System Verilog进行单步调试的步骤

Verilog单步调试&#xff1a; System Verilog进行单步调试的步骤如下&#xff1a; 1. 编译设计 使用-debug_all或-debug_pp选项编译设计&#xff0c;生成调试信息。 我的4个文件&#xff1a; 1.led.v module led(input clk,input rst_n,output reg led );reg [7:0] cnt;alwa…

【单层神经网络】softmax回归的从零开始实现(图像分类)

softmax回归 该回归分析为后续的多层感知机做铺垫 基本概念 softmax回归用于离散模型预测&#xff08;分类问题&#xff0c;含标签&#xff09; softmax运算本质上是对网络的多个输出进行了归一化&#xff0c;使结果有一个统一的判断标准&#xff0c;不必纠结为什么要这么算…

Docker使用指南(一)——镜像相关操作详解(实战案例教学,适合小白跟学)

目录 1.镜像名的组成 2.镜像操作相关命令 镜像常用命令总结&#xff1a; 1. docker images 2. docker rmi 3. docker pull 4. docker push 5. docker save 6. docker load 7. docker tag 8. docker build 9. docker history 10. docker inspect 11. docker prune…

【25考研】南开软件考研复试复习重点!

一、复试内容 复试采取现场复试的方式。复试分为笔试、机试和面试三部分。三部分合计100分&#xff0c;其中笔试成绩占30%、机试成绩占30%、面试成绩占40%。 1.笔试&#xff1a;专业综合基础测试 考核方式&#xff1a;闭卷考试&#xff0c;时长为90分钟。 笔试考查内容范围…

Codeforces Round 1002 (Div. 2)(部分题解)

补题链接 A. Milya and Two Arrays 思路&#xff1a;题意还是比较好理解&#xff0c;分析的话我加了一点猜的成分&#xff0c;对a&#xff0c;b数组的种类和相加小于4就不行&#xff0c;蒋老师的乘完后小于等于2也合理。 AC代码&#xff1a; #include <bits/stdc.h> u…

84-《金银花》

金银花 金银花 &#xff0c;正名为忍冬&#xff08;学名&#xff1a;Lonicera japonica Thunb. &#xff09;。“金银花”一名出自《本草纲目》&#xff0c;由于忍冬花初开为白色&#xff0c;后转为黄色&#xff0c;因此得名金银花。药材金银花为忍冬科忍冬属植物忍冬及同属植物…

2000-2020年 儒家文化-儒学中心数据-社科数据

儒家文化-儒学中心数据&#xff08;2000-2020年&#xff09;-社科数据https://download.csdn.net/download/paofuluolijiang/90024739 https://download.csdn.net/download/paofuluolijiang/90024739 儒家文化作为中国传统文化的核心之一&#xff0c;对中国社会的发展产生了深远…

unordered_map/set的哈希封装

【C笔记】unordered_map/set的哈希封装 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C笔记 文章目录 【C笔记】unordered_map/set的哈希封装前言一. 源码及框架分析二.迭代器三.operator[]四.使用哈希表封装unordered_map/set后言 前言 哈…

JVM 四虚拟机栈

虚拟机栈出现的背景 由于跨平台性的设计&#xff0c;Java的指令都是根据栈来设计的。不同平台CPU架构不同&#xff0c;所以不能设计为基于寄存器的。优点是跨平台&#xff0c;指令集小&#xff0c;编译器容易实现&#xff0c;缺点是性能下降&#xff0c;实现同样的功能需要更多…

ChatGPT提问技巧:行业热门应用提示词案例--咨询法律知识

ChatGPT除了可以协助办公&#xff0c;写作文案和生成短视频脚本外&#xff0c;和还可以做为一个法律工具&#xff0c;当用户面临一些法律知识盲点时&#xff0c;可以向ChatGPT咨询获得解答。赋予ChatGPT专家的身份&#xff0c;用户能够得到较为满意的解答。 1.咨询法律知识 举…

mysql 学习8 函数,字符串函数,数值函数,日期函数,流程函数

函数 一 字符串函数 二 数值函数 三 日期函数 四 流程函数

机器学习--1.KNN机器学习入门

1、机器学习概述 1.1、什么是机器学习 机器学习&#xff08;Machine Learning&#xff09;是人工智能&#xff08;Artificial Intelligence&#xff09;领域的一个子集&#xff0c;它主要关注如何让计算机系统通过经验学习&#xff08;数据&#xff09;并自动改进性能。机器学…

【数据结构】(4) 线性表 List

一、什么是线性表 线性表就是 n 个相同类型元素的有限序列&#xff0c;每一个元素只有一个前驱和后继&#xff08;除了第一个和最后一个元素&#xff09;。 数据结构中&#xff0c;常见的线性表有&#xff1a;顺序表、链表、栈、队列。 二、什么是 List List 是 Java 中的线性…

go-zero学习笔记(三)

利用goctl生成rpc服务 编写proto文件 // 声明 proto 使用的语法版本 syntax "proto3";// proto 包名 package demoRpc;// golang 包名(可选) option go_package "./demo";// 如需为 .proto 文件添加注释&#xff0c;请使用 C/C 样式的 // 和 /* ... */…

深入浅出:频谱掩码 Spectral Masking —— 噪音消除利器

在语音处理领域&#xff0c;噪声是一个常见的敌人。无论是语音通话、语音识别&#xff0c;还是语音合成&#xff0c;噪声都会大大降低语音的质量和可理解性。为了解决这个问题&#xff0c;Spectral Masking&#xff08;频谱掩码&#xff09; 模型应运而生。它通过从带噪信号的频…

LeetCode --- 434周赛

目录 3432. 统计元素和差值为偶数的分区方案 3433. 统计用户被提及情况 3434. 子数组操作后的最大频率 3435. 最短公共超序列的字母出现频率 一、统计元素和差值为偶数的分区方案 本题可以直接模拟&#xff0c;当然我们也可以来从数学的角度来分析一下这题的本质 设 S S S …

如何安全地管理Spring Boot项目中的敏感配置信息

在开发Spring Boot应用时&#xff0c;我们经常需要处理一些敏感的配置信息&#xff0c;比如数据库密码、API密钥等。以下是一个最佳实践方案&#xff1a; 1. 创建配置文件 application.yml&#xff08;版本控制&#xff09; spring:datasource:url: ${MYSQL_URL:jdbc:mysql…

我主编的电子技术实验手册(24)——RL并联电路

本专栏是笔者主编教材&#xff08;图0所示&#xff09;的电子版&#xff0c;依托简易的元器件和仪表安排了30多个实验&#xff0c;主要面向经费不太充足的中高职院校。每个实验都安排了必不可少的【预习知识】&#xff0c;精心设计的【实验步骤】&#xff0c;全面丰富的【思考习…

【贪心算法篇】:“贪心”之旅--算法练习题中的智慧与策略(三)

✨感谢您阅读本篇文章&#xff0c;文章内容是个人学习笔记的整理&#xff0c;如果哪里有误的话还请您指正噢✨ ✨ 个人主页&#xff1a;余辉zmh–CSDN博客 ✨ 文章所属专栏&#xff1a;贪心算法篇–CSDN博客 文章目录 前言例题1.最优除法2.跳跃游戏23.跳跃游戏14.加油站5.单调递…

2024年度十大网络安全热点事件盘点:时代暗涌下的安全危机

2024年&#xff0c;国际形势风云变幻&#xff0c;地缘政治的动荡与科技革命的浪潮交织成一幅复杂图景。以人工智能为代表的前沿科技突飞猛进&#xff0c;正以前所未有的速度重塑着世界的每一个角落&#xff0c;引领着人类社会迈向一个更加智能、高效与便捷的未来。 然而&#…