Largest Digit(思维题)

The 2023 ICPC Asia Jinan Regional Contest (The 2nd Universal Cup. Stage 17: Jinan)

D. Largest Digit


题意:

f ( x ) f(x) f(x) 是正整数 x x x 的十进制表示中的最大位数。例如, f ( 4523 ) = 5 f(4523) = 5 f(4523)=5 f ( 1001 ) = 1 f(1001) = 1 f(1001)=1

给定四个正整数 l a l_a la r a r_a ra l b l_b lb r b r_b rb ,使得 l a ≤ r a l_a \le r_a lara l b ≤ r b l_b \le r_b lbrb ,计算 f ( a + b ) f(a + b) f(a+b) 的最大值,其中 l a ≤ a ≤ r a l_a \le a \le r_a laara l b ≤ b ≤ r b l_b \le b \le r_b lbbrb

思路:

当第一个数和第二个数变化的时候,它们的和个数上变化是很频繁的,就很有可能得到最大的数 9 9 9,而高位就没这么有可能。

进一步研究发现,当一个数的个位可以取 0 ∼ 9 0\sim 9 09 的所有数,那么另一个数无论怎么变,我们都可以让它们的和的 个位 置为 9 9 9。也就是说,只要 r a − l a ≥ 9 r_a-l_a\ge 9 rala9 或者 r b − l b ≥ 9 r_b-l_b\ge 9 rblb9,那么我们就一定可以凑出个位是 9 9 9,它肯定是最大的。

剩余的情况第一个数和第二个数的取值是非常有限的,两数最多都只有 9 9 9 个取值,直接暴力枚举两个数的取值,然后验证就行了。

code:

#include <iostream>
#include <cstdio>
using namespace std;
typedef long long ll;ll T,l1,r1,l2,r2;ll f(ll x){ll ans=0;do{ans=max(ans,x%10);x/=10;}while(x);return ans;
}int main(){cin>>T;while(T--){cin>>l1>>r1>>l2>>r2;if(r1-l1>=9 || r2-l2>=9){cout<<9<<endl;}else {ll ans=0;for(ll x=l1;x<=r1;x++)for(ll y=l2;y<=r2;y++)ans=max(ans,f(x+y));cout<<ans<<endl;}}return 0;
} 

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

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

相关文章

深度学习入门到放弃系列 - 阿里云人工智能平台PAI部署开源大模型chatglm3

通过深度学习入门到放弃系列 - 魔搭社区完成开源大模型部署调用 &#xff0c;大概掌握了开源模型的部署调用&#xff0c;但是魔搭社区有一个弊端&#xff0c;关闭实例后数据基本上就丢了&#xff0c;本地的电脑无法满足大模型的配置&#xff0c;就需要去租用一些高性价比的GPU机…

空格探究 空格ASCII码值不一样

背景 今天修改数据库字段发现修改无效,最后发现是空格引起的,数据库中空格有一些奇怪的空格 获取ASCII码,发现不一样 public static void main(String[] args) {String str1 " ";String str2 " ";System.out.println((int)str1.charAt(0) );//13228Syste…

神经网络中的误差反向传播(Backpropagation)方法理解

想象一下&#xff0c;神经网络就像是一个复杂的迷宫&#xff0c;里面有许多交叉路口&#xff08;神经元&#xff09;&#xff0c;每个路口都有指示牌告诉你往哪个方向走&#xff08;权重&#xff09;&#xff0c;而你的目标是找到从入口到出口的最佳路径&#xff0c;使得从起点…

优选算法——双指针2

题目一——有效三角形的个数 思路 先审题 举个例子&#xff0c;下面一个序列可分成4个三元组 然后我们论证哪个可以组成三角形即可 判断三个数能不能组成三角形&#xff1a;任意两边之和大于第三边 注意第一个和第四个&#xff0c;有人说&#xff0c;这不是两个相同的吗&#…

原生小程序开发如何使用 tailwindcss

原生小程序开发如何使用 tailwindcss 原生小程序开发如何使用 tailwindcss 前言什么是 weapp-tailwindcss ?0. 准备环境以及小程序项目1. 安装与配置 tailwindcss 0. 使用包管理器安装 tailwindcss1. 在项目目录下创建 postcss.config.js 并注册 tailwindcss2. 配置 tailwind…

python中try/except/else/finally块的一些例子

Python中的try/except/else/finally块可以用来捕获和处理异常&#xff0c;确保程序的健壮性。以下是一些使用这些块的例子&#xff1a; ### 基本异常捕获 python try: # 尝试读取文件 with open(example.txt, r) as file: data file.read() except FileNotF…

【强训笔记】day22

NO.1 思路&#xff1a;将情况全部枚举出来。 代码实现&#xff1a; #include <iostream> #include<string> using namespace std;string a,b; int main() {cin>>a>>b;int ma.size(),nb.size();int retm;for(int i0;i<n-m;i){int tmp0;for(int j…

【UnityShader入门精要学习笔记】第十二章 屏幕后处理效果

本系列为作者学习UnityShader入门精要而作的笔记&#xff0c;内容将包括&#xff1a; 书本中句子照抄 个人批注项目源码一堆新手会犯的错误潜在的太监断更&#xff0c;有始无终 我的GitHub仓库 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 文章目录 建立一个基…

如何在Python中加载机器学习数据

如何在Python中加载机器学习数据 在开始机器学习项目之前&#xff0c;您必须能够加载数据。 机器学习数据最常见的格式是CSV文件。在Python中加载CSV文件的方法有很多。 加载CSV数据时的注意事项 1.你的数据有文件头吗&#xff1f;如果是这样的话&#xff0c;这可以帮助自动…

上位机图像处理和嵌入式模块部署(树莓派4b的提高版)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 目前人工智能非常火&#xff0c;但是人工智能需要极高的算力和海量的数据&#xff0c;因此相关的关联公司非常吃香&#xff0c;nvidia就是提供算力…

【基本数据结构】链表

文章目录 前言链表简介头节点与尾节点特性 分类单向链表双向链表循环链表 单链表基本操作定义并初始化单链表读取节点插入节点删除节点修改节点 参考资料写在最后 前言 本系列专注更新基本数据结构&#xff0c;现有以下文章&#xff1a; 【算法与数据结构】数组. 【算法与数…

互联网搞钱大变天,这有几条活路

互联网搞钱大变天&#xff0c;这有几条活路 靠互联网营生的各位同胞&#xff0c;你们有没有想过这样一个问题&#xff1a;假如有一天你的自媒体账号全被封了&#xff0c;你手上的操作项目全都黄了&#xff0c;你会怎么办&#xff1f; 就封号这事在这几年相信大家都不会陌生&a…

【LLM第五篇】名词解释:prompt

1.是什么 提示工程&#xff08;Prompt Engineering&#xff09;是一门较新的学科&#xff0c;关注提示词开发和优化&#xff0c;帮助用户将大语言模型&#xff08;Large Language Model, LLM&#xff09;用于各场景和研究领域。 掌握了提示工程相关技能将有助于用户更好地了解…

深入了解 npm:Node.js 包管理工具详解

文章目录 一、npm 基本概念1.1 什么是 npm&#xff1f;1.2 package.json 文件 二、npm 常用命令2.1 初始化项目2.2 安装依赖2.2.1 安装单个包2.2.2 全局安装包2.2.3 安装开发依赖 2.3 移除依赖2.4 更新依赖2.5 查看已安装的包2.6 发布包 三、npm 高级用法3.1 使用 npm scripts3…

JETBRAINS IDES 分享一个2099通用试用码!CLion 2024 版 ,支持一键升级

文章目录 废话不多说上教程&#xff1a;&#xff08;动画教程 图文教程&#xff09;一、动画教程激活 与 升级&#xff08;至最新版本&#xff09; 二、图文教程 &#xff08;推荐&#xff09;Stage 1.下载安装 toolbox-app&#xff08;全家桶管理工具&#xff09;Stage 2 : 下…

nestJs中跨库查询

app.module.ts中配置 模块的module中 注意实体类在写的时候和数据库中的表名一样 service中使用一下

【JS】call和 apply函数的详解

JavaScript 中 call() 和 apply() 函数的详解 在JavaScript中&#xff0c;call()和apply()都是非常重要的方法&#xff0c;用于调用函数时指定函数体内的this的值&#xff0c;从而实现不同对象之间的方法共享。尽管它们的功能非常相似&#xff0c;但在实际使用中各有其优势和特…

生产环境磁盘变更方案

datanode磁盘扩容(1人天) 扩容磁盘 1.1 扩容前检查、新盘初始化 确定block副本统计正常,无丢块,无under-replicated 块 后台执行命令检查 hdfs dfs fsck / 无异常可进行以下步骤进行磁盘扩容 新盘初始化 ##格式化新盘,命令示例: mkfs.xfs /dev/sdc##挂载新盘,命令示…

【AI学习】聊两句昨夜OpenAI的GPT-4o

蹭个热点&#xff0c;聊两句昨夜的大事件——OpenAI发布GPT-4o&#xff0c;我看到和想到的一点东西。 首先是端到端方法&#xff0c;前面关于深度学习的文章&#xff0c;对端到端的重要性做了一些学习&#xff0c;对端到端这个概念有了一些理解。正如Richard Sutton在《苦涩的…

大数据Scala教程从入门到精通第六篇:Scala源文件编写和运行

一&#xff1a;Scala源文件编写和运行 1&#xff1a;源代码比较 public class HelloJava{public static void main(String[] args){System.out.println("hello scala")} } object HelloScala{//用于声明方法 入参是一个String类型的数组。返回值类型为空def main…