Codeforces Round 952 (Div. 4) G. D-Function 題解 數學 數論

D-Function

題目描述

Let D ( n ) D(n) D(n) represent the sum of digits of n n n. For how many integers n n n where 1 0 l ≤ n < 1 0 r 10^{l} \leq n < 10^{r} 10ln<10r satisfy D ( k ? n ) = k ? D ( n ) D(k \cdot n) = k \cdot D(n) D(k?n)=k?D(n)? Output the answer modulo 1 0 9 + 7 10^9+7 109+7.

輸入描述

The first line contains an integer t t t ( 1 ≤ t ≤ 1 0 4 1 \leq t \leq 10^4 1t104) – the number of test cases.

Each test case contains three integers l l l, r r r, and k k k ( 0 ≤ l < r ≤ 1 0 9 0 \leq l < r \leq 10^9 0l<r109, 1 ≤ k ≤ 1 0 9 1 \leq k \leq 10^9 1k109).

輸出描述

For each test case, output an integer, the answer, modulo 1 0 9 + 7 10^9 + 7 109+7.

提示

For the first test case, the only values of n n n that satisfy the condition are 1 1 1 and 2 2 2.

For the second test case, the only values of n n n that satisfy the condition are 1 1 1, 10 10 10, and 11 11 11.

For the third test case, all values of n n n between 10 10 10 inclusive and 100 100 100 exclusive satisfy the condition.

題面翻譯

D ( n ) D(n) D(n) 代表 n n n 各個數位上數字之和。求:有多少個 n n n 滿足 1 0 l ≤ n < 1 0 r 10^{l} \leq n < 10^{r} 10ln<10r D ( k ? n ) = k ? D ( n ) D(k \cdot n) = k \cdot D(n) D(k?n)=k?D(n)?答案對 1 0 9 + 7 10^9+7 109+7 取模。

樣例 #1

樣例輸入 #1

6
0 1 4
0 2 7
1 2 1
1 2 3
582 74663 3
0 3 1

樣例輸出 #1

2
3
90
12
974995667
999

原題

Codeforces——傳送門
洛谷——傳送門

思路

對于 D ( k ? n ) = k ? D ( n ) D(k \cdot n) = k \cdot D(n) D(k?n)=k?D(n)我們觀察可以得到 左式一定小于等于右式。因為右式是對每一位數字都乘以 k k k 再相加,左式對 n n n 中每一位數字乘以 k k k 后要先處理進位再相加,而每發生一次進位都會導致最后得到的和少了 10 10 10。所以如果要滿足 D ( k ? n ) = k ? D ( n ) D(k \cdot n) = k \cdot D(n) D(k?n)=k?D(n),則 k k k 乘以每一位都不能 ≥ 10 ≥10 10,即對于 n n n 中的任意一位數字 x x x,需滿足 x ? k ≤ 9 x*k≤9 x?k9

因為 x ? k ≤ 9 x*k≤9 x?k9,所以對于 n n n 的每一位,若該位為最高位,則 x x x 不能為 0 0 0,可滿足的位數字有 k 9 \frac{k}{9} 9k? 種;若該位不為最高位,則可滿足的位數字有 k 9 + 1 \frac{k}{9}+1 9k?+1 種。因此對于 1 0 i ≤ n < 1 0 i + 1 10^{i}≤n<10^{i+1} 10in<10i+1,滿足條件的 n n n 的個數有 k 9 ? ( k 9 + 1 ) i \frac{k}{9}*(\frac{k}{9}+1)^{i} 9k??(9k?+1)i 個。那么答案就是 k 9 ? ( k 9 + 1 ) r ? 1 ? k 9 ? ( k 9 + 1 ) l ? 1 \frac{k}{9}*(\frac{k}{9}+1)^{r-1}-\frac{k}{9}*(\frac{k}{9}+1)^{l-1} 9k??(9k?+1)r?1?9k??(9k?+1)l?1,利用等比數列求和公式化簡得 ( k 9 + 1 ) r ? ( k 9 + 1 ) l (\frac{k}{9}+1)^{r}-(\frac{k}{9}+1)^{l} (9k?+1)r?(9k?+1)l當然也可以不化簡直接計算結果。

代碼

#include <bits/stdc++.h>
using namespace std;
using i64 = long long;const i64 mod = 1e9 + 7;
// 快速冪
i64 qpow(i64 a, i64 b, i64 c)
{i64 ans = 1;a %= c;while (b){if (b & 1){ans = (ans * a) % c;}a = (a * a) % c;b >>= 1;}return ans % c;
}int main()
{ios::sync_with_stdio(0);cin.tie(0);int t;cin >> t;while (t--){i64 l, r, k;cin >> l >> r >> k;i64 num = 9 / k + 1;cout << (qpow(num, r, mod) - qpow(num, l, mod) + mod) % mod << '\n';}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/39119.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/39119.shtml
英文地址,請注明出處:http://en.pswp.cn/web/39119.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mybatisplus新增數據時生成的雪花id太長前端接收不準確怎么辦?

這是后端返回的&#xff1a;1807308955001573377 這是前端接收的&#xff1a;1807308955001573400 返回的long類型超過前端的最大長度了&#xff0c;渲染不了 只需要在WebMvcConfiguration配置類中重寫方法&#xff0c;如下 Overrideprotected void configureMessageConver…

深度學習:C++和Python如何對大圖進行小目標檢測

最近在醫美和工業兩條線來回穿梭&#xff0c;甚是疲倦&#xff0c;一會兒搞搞醫美的人像美容&#xff0c;一會兒搞搞工業的檢測&#xff0c;最近新接的一個項目&#xff0c;關于瑕疵檢測的&#xff0c;目標圖像也并不是很大吧&#xff0c;需要放大后&#xff0c;才能看見細小的…

基于Java的跨平臺移動應用開發

基于Java的跨平臺移動應用開發 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;今天我們將探討基于Java的跨平臺移動應用開發&#xff0c;這是一種強大的技術方案…

使用 App Store Connect API 生成和讀取分析報告

文章目錄 前言安裝 API Swift SDK配置 API Swift SDK生成分析報告獲取所有可用的報告獲取報告的分段下載分段的數據總結 前言 Apple 最近推出了50多個新的分析報告&#xff0c;其中包含數百個新的數據點和指標&#xff0c;以幫助開發者了解他們的應用程序的表現情況。 這些報…

構建安全穩定的應用:Spring Security 實用指南

前言 在現代 Web 應用程序中&#xff0c;安全性是至關重要的一個方面。Spring Security 作為一個功能強大且廣泛使用的安全框架&#xff0c;為 Java 應用程序提供了全面的安全解決方案。本文將深入介紹 Spring Security 的基本概念、核心功能以及如何在應用程序中使用它來實現…

相比共享代理,為什么要用獨享代理IP?

隨著互聯網的廣泛普及和應用&#xff0c;涉及網絡隱私、數據安全和網絡訪問控制的問題變得越來越重要。代理服務器作為一種常見的網絡工具&#xff0c;可以在跨境電商、海外社媒、SEO投放、網頁抓取等領域發揮作用&#xff0c;實現匿名訪問并加強網絡安全。在代理服務器類別中&…

Hadoop:全面深入解析

Hadoop是一個用于大規模數據處理的開源框架&#xff0c;其設計旨在通過集群的方式進行分布式存儲和計算。本篇博文將從Hadoop的定義、架構、原理、應用場景以及常見命令等多個方面進行詳細探討&#xff0c;幫助讀者全面深入地了解Hadoop。 1. Hadoop的定義 1.1 什么是Hadoop …

CDC模型

引言 聚類是一種強大的機器學習方法&#xff0c;用于根據特征空間中元素的接近程度發現相似的模式。它廣泛用于計算機科學、生物科學、地球科學和經濟學。盡管已經開發了最先進的基于分區和基于連接的聚類方法&#xff0c;但數據中的弱連接性和異構密度阻礙了其有效性。在這項…

Linux 下的性能監控與分析技巧

在日常的服務器管理和問題診斷過程中&#xff0c;Linux 命令行工具提供了強大的支持。本文通過幾個常用的示例&#xff0c;介紹如何快速定位問題、監控服務器性能。 無論你是編程新手還是有一定經驗的開發者&#xff0c;理解和掌握這些命令&#xff0c;都將在你的工作中大放異…

第四篇——作戰篇:戰爭里的激勵與成本

目錄 一、背景介紹二、思路&方案三、過程1.思維導圖2.文章中經典的句子理解3.學習之后對于投資市場的理解4.通過這篇文章結合我知道的東西我能想到什么&#xff1f; 四、總結五、升華 一、背景介紹 前面進行了分析之后&#xff0c;這篇顯然又從經濟的角度進行了介紹和分析…

STELLA系統動態模擬技術及在農業、生態及環境等科學領域中的應用技術

STELLA是一種用戶友好的計算機軟件。通過繪畫出一個系統的形象圖形&#xff0c;并給這個系統提供數學公式和輸入數據&#xff0c;從而建立模型。依據專業興趣&#xff0c;STELLA可以用來建立各種各樣的農業、生態、環境等方面的系統動態模型&#xff0c;為科研、教學、管理服務…

用例子和代碼了解詞嵌入和位置編碼

1.嵌入&#xff08;Input Embedding&#xff09; 讓我用一個更具體的例子來解釋輸入嵌入&#xff08;Input Embedding&#xff09;。 背景 假設我們有一個非常小的詞匯表&#xff0c;其中包含以下 5 個詞&#xff1a; "I""love""machine"&qu…

10 Posix API與網絡協議棧

POSIX概念 POSIX是由IEEE指定的一系列標準,用于澄清和統一Unix-y操作系統提供的應用程序編程接口(以及輔助問題,如命令行shell實用程序),當您編寫程序以依賴POSIX標準時,您可以非常肯定能夠輕松地將它們移植到大量的Unix衍生產品系列中(包括Linux,但不限于此!)。 如…

DeepFaceLive----AI換臉簡單使用

非常強大的軟件,官方github https://github.com/iperov/DeepFaceLive 百度云鏈接: 鏈接&#xff1a;https://pan.baidu.com/s/1VHY-wxqJXSh5lCn1c4whZg 提取碼&#xff1a;nhev 1下載解壓軟件 下載完成后雙擊.exe文件進行解壓.完成后雙擊.bat文件打開軟件 2 視頻使用圖片換…

k8s部署單機版mysql8

一、創建命名空間 # cat mysql8-namespace.yaml apiVersion: v1 kind: Namespace metadata:name: mysql8labels:name: mysql8# kubectl apply -f mysql8-namespace.yaml namespace/mysql8 created# kubectl get ns|grep mysql8 mysql8 Active 8s二、創建mysql配…

Ubuntu環境下Graphics drawString 中文亂碼解決方法

問題描述 以下代碼在,在本地測試時 ,可以正常輸出中文字符的圖片,但部署到線上時中文亂碼 // 獲取Graphics2D對象以支持更多繪圖功能 Graphics2D g2d combined.createGraphics(); // 示例字體、樣式和大小 Font font new Font("微軟雅黑", Font.PLAI…

Swagger:swagger和knife4j

Swagger 一個規范完整的框架 用以生成,描述,調用和可視化 主要作用為 自動生成接口文檔 方便后端開發進行接口調試 Knife4j 為Java MVC框架集成 依賴引入: <!-- knife4j版接口文檔 訪問/doc.html--> <dependency><groupId>com.github.xiaoymin<…

SSM學習4:spring整合mybatis、spring整合Junit

spring整合mybatis 之前的內容是有service層&#xff08;業務實現層&#xff09;、dao層&#xff08;操作數據庫&#xff09;&#xff0c;現在新添加一個domain&#xff08;與業務相關的實體類&#xff09; 依賴配置 pom.xml <?xml version"1.0" encoding&quo…

解決ScaleBox來實現大屏自適應時,頁面的餅圖會變形的問題

封裝一個公用組件pieChartAdaptation.vue 代碼如下&#xff1a; <template><div :style"styleObject" class"pie-chart-adaptation"><slot></slot></div> </template><script setup lang"ts"> impo…

2.2.3 C#中顯示控件BDPictureBox 的實現----控件實現

2.2.3 C#中顯示控件BDPictureBox 的實現----控件實現 1 界面控件布局 2圖片內存Mat類說明 原始圖片&#xff1a;m_raw_mat ,Display_Mat()調用時更新或者InitDisplay_Mat時更新局部放大顯示圖片&#xff1a;m_extract_zoom_mat&#xff0c;更新scale和scroll信息后更新overla…