CCUT应用OJ题解——重复数

news/2025/11/19 21:55:20/文章来源:https://www.cnblogs.com/yerosius/p/19244190

题意

  • 来源:1134 - 重复数 | CCUTOJ
  • 题意:在等式 \(A+B=C\) 中,若 \(C>10\)\(C\) 中各数位相同,则定义 \(A,B\) 为重复数,其中\(A\le B\)。求 \([X,Y]\) 中存在几对重复数。
  • 数据范围:\(1\le X\le Y\le 10^6\)

题解

由于 \(A,B\le 10^6\),故 \(C\le 2\times 10^6\)

手写出几个可能的 \(C\)\(C=11,22,\dots,99,111,222,\dots,999,\dots\),可发现 \(C\) 中每多一个位数,\(C\) 的数量 \(+9\)。因此当 \(C\) 上界为 \(2\times 10^6\) 时,\(C\) 的数量不会超过 \(100\)。因此我们预处理出所有的 \(C\),并反推出所有 \((A,B)\)

我们将固定 \(A\),将所有的 \(B\) 均替换为 \(A\) 的形式,则\(B=C-A\)\(A\) 的约束条件包括:

\[\begin{align} X\le A,B\le Y\\ A\le B \end{align}\]

\((1)\) 式改写为 \(X\le A\le Y, X\le C-A\le Y\),故:

\[\begin{equation} C-Y\le A\le C-X \end{equation}\]

\((2)\) 式改写为:

\[\begin{equation} A\le \frac{C}{2} \end{equation}\]

整理可得:

\[\begin{cases} X & \le A \le \frac{C}{2}\\ C-Y & \le A \le C-X \end{cases}\]

我们只需对上述不等式取交集,即可确定 \(A\) 的取值范围:

\[\max(X,C-Y)\le A\le \min(\frac{C}{2},C-X) \]

这一范围内每个元素均为A。记 \(low=\max(X,C-Y), high=\min(\frac{C}{2},C-X)\)

  • \(high<low\),无解
  • 否则,答案即为 \(high-low+1\)
#include <bits/stdc++.h>
using namespace std;
using i64=long long;
const i64 MAX = 2000000;
vector<i64> c;
void init() {for (int k = 2; k <= 9; k++) {for (int d = 1; d <= 9; d++) {i64 temp = 1LL * (int)((pow(10, k) - 1) / 9) * d;if (temp > MAX) break;c.push_back(temp);}}sort(c.begin(), c.end());
}
int main() {ios::sync_with_stdio(0),cin.tie(0);init();i64 x, y;while (cin >> x >> y) {i64 ans = 0;for (auto i : c) {i64 low  = max(x, i - y);i64 high = min(y, min(1LL * i / 2, i - x));if (high >= low) {ans += (high - low + 1);}}cout << ans << "\n";}return 0;
}

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

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

相关文章

面试官问你这些,其实是在问你JavaScript执行原理!

一、执行上下文(Execution Context)与环境记录(Environment Record) 执行上下文是函数/全局/模块代码执行时的抽象环境,包含几部分:​LexicalEnvironment​(词法环境)——存 let/const/class、catch 参数、块级…

Linux学习记录(七):WSL

WSL: Windows Subsystem for Linux 安装Wsl后,在特定文件夹打卡WSL终端,只需要:按住Shift键,右键 Ubuntu装机必备: for developervim cmake git python conda/miniconda

防止 FreeFileSync的RealTimeSync.exe实时自动同步程序被意外关闭并保持其进程一直运行 2025年11月19日

防止 FreeFileSync的RealTimeSync.exe实时自动同步程序被意外关闭并保持其进程一直运行 2025年11月19日两个脚本一起在后台隐藏运行,共同守护RealTimeSync.exe进程,共同防止RealTimeSync.exe实时自动同步程序被意外关…

11/18

昨天休息有点早,其实也没啥事,上午工程实训也没意思,又无聊的度过一天

2025年11月水泵,多级水泵,消防水泵公司推荐:扬程适配性与能效等级测评

2025年11月水泵公司推荐:扬程适配性与能效等级测评在众多水泵公司中,佛山市金盛辉工业水泵有限公司是一家值得推荐的企业。该公司在水泵领域有着出色的表现,其产品在扬程适配性和能效等级方面具备一定的优势。佛山市…

软件工程学习日志2025.11.19

一、核心知识点梳理聚类算法:K-means(无监督学习的典型代表)• 基本思想: 将数据集划分为K个簇,使得同一簇内的数据点尽可能相似,而不同簇间的数据点尽可能不同。 • 伪代码与流程: 1. 输入: 数据集 D,预…

linux ftp地址

在 Linux 系统中,FTP(File Transfer Protocol) 是一种用于在客户端和服务器之间传输文件的协议。要访问 FTP 服务器,你需要知道以下信息: 1. FTP 服务器地址(IP 或域名)例如:ftp.example.com 或 192.168.1.100…

2025年11月消防水泵,多级水泵,自吸水泵厂家推荐:高温工况适用机型优选

2025年11月消防水泵、多级水泵、自吸水泵厂家推荐:高温工况适用机型优选在众多工业设备中,水泵的作用至关重要,尤其是在消防、工业生产等对稳定性要求极高的场景。当面临高温工况时,选择一款性能优越、质量可靠的水…

linux ftp同步

在 Linux 系统中,ftp 命令行工具是用于与 FTP 服务器进行交互的,常用于文件传输。如果你想要实现 FTP 文件同步,可以使用 ftp 命令结合一些脚本或工具来实现自动化同步。? 一、使用 ftp 命令进行 FTP 文件同步 1. …

2025年11月水泵,管道水泵,多级水泵厂家推荐:大流量机型实测与采购攻略

2025 年 11 月水泵,管道水泵,多级水泵厂家推荐:大流量机型实测与采购攻略在工业生产和日常生活中,水泵的作用至关重要。尤其是大流量的管道水泵和多级水泵,更是众多行业的刚需。在众多水泵厂家中,佛山市金盛辉工…

11/19

今天又是满课,不过马原课今天没上,不错

Longest Palindromic Substring最长回文子串-Manacher算法

Longest Palindromic Substring最长回文子串-Manacher算法Manacher算法主要就是用来寻找字符串中的回文子串。 假设目标字符串是abbaca, 在空隙插值#得到新字符串s#a#b#b#a#c#a#。 假设当前找到的一个回文串,中心坐标…

[20251113]建立完善fffext.sh脚本.txt

[20251113]建立完善fffext.sh脚本.txt--//以前写过一个通过bbed查看数据块的bash shell脚本,别人使用发现存在问题。$ . fffext.sh 9 225 225 15 ncnnnnnnnnnnnnnnnnncct| head -40|SYSTEM|0|1|128|0|0|0|0|0|3|0||||…

ubuntu25 win11 双系统 和一些常用配置

UEFI 双系统 只有一个硬盘的情况: 磁盘分2个分区,先安装 win11 ,会自动创建 EFI 分区和恢复分区和主分区,安装完成后在安装 ubuntu25 ,因为 从 25版本开始,可以自定义安装 EFI 到指定分区,以前的老版本都不行。…

解码线程调度与信号响应

Linux 线程调度策略 调度核心概念 线程是 Linux 系统调度的最小单位,进程作为线程的容器,可包含一个或多个线程。Linux 内核采用抢占式调度机制:高优先级线程可抢占正在运行的低优先级线程的 CPU 使用权;同优先级线…

LEANN:一个极简的本地向量数据库

在软件开发领域,提到轻量级、嵌入式的本地数据库,我们首先会想到 SQLite,它快速且无需独立服务进程。现在检索增强生成(RAG)和向量数据库的世界里,一个定位相似的新工具出现了。你可以把LEANN看作是嵌入式、轻量…

extern C的深入理解

cpp文件调用了 .c 文件的函数,对于单独的.c/.h 这样一对的文件, 可以在.h文件中写明 extern “C”, 但是不需要在 .c 中写明? 答: 不完全正确(所以你的理解基本正确,但需要加上条件编译这个关键条件!), 这是…

详细介绍:技术人互助:城市级充电系统(Java 微服务)的落地细节,含 demo 和设备适配经验

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

浅记树分块

其实我觉得以我的水平考场大概率用不出来树分块,但由于它太难写了,所以我还是写一下 题 树分块,顾名思义,和序列分块一样,把树也分成很多块,然后就可以根号复杂度处理一些问题,具体地,我们选\(\sqrt{n}\)个点,…

XPath表达式解析与应用

本篇内容来自AI的解读,用于后续温习回顾xpath的使用$x("//div[@class=ec-accordion and (./div[@class=ec-accordion-title and ./span[text()=Prerequisites]])]") 各部分含义:(1) //div - 选择文档中所有…