首页 > 其他分享 >G. D-Function 题解 (快速幂, 组合数学)

G. D-Function 题解 (快速幂, 组合数学)

时间:2025-01-09 21:23:13浏览次数:1  
标签:Function int 题解 sum pos fpow 数学 ans mod

原题链接:

https://codeforces.com/contest/1985/problem/G

题目:

思路:

要满足D(kn)==kD(n), k与n的每一位相乘都不能发生进位, k只能是一位数。

考虑n的位数可能有1e9,所以用到了快速幂。

代码:

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int mod=1e9+7;

int fpow(int a, int n){//快速幂
    int ans=a, sum=1;
    while(n){
        if(n&1)sum*=ans, sum%=mod;
        ans*=ans;ans%=mod;
        n=n>>1;
    }
    return sum;
}
void solve(){
    int l, r, k;cin>>l>>r>>k;
    if(k>=10){
        cout<<0<<'\n';
    }
    else {
        int pos;//确定每一位有几个数满足要求。
        for(int i=1;i<=9;i++){
            if(i*k>=10)break;
            else pos=i;
        }
        int sum=fpow(pos+1, r)+mod-fpow(pos+1, l);
        //类似于前缀和, 不加mod可能会出现负数。
        cout<<sum%mod<<'\n';
    }
}
signed main()
{
    int T;cin>>T;
    while(T--){
        solve();
    }
    return 0;
}

标签:Function,int,题解,sum,pos,fpow,数学,ans,mod
From: https://www.cnblogs.com/1747176348mi/p/18662914

相关文章

  • 学校月考题解 #2
    一些闲话期末考,依旧是AK。题解T1有\(n\)个位置。起初每个位置都被封锁。你可以进行以下两种类型的操作:选择一个位置\(i\),其中\(1\leqi\leqn\),然后解除该位置的封锁;选择一对位置\(l\)和\(r\),其中\(1\leql\leqr\leqn\),满足位置\(l\)和\(r\)都已解除封锁,......
  • 【C++动态规划 数学】1039. 多边形三角剖分的最低得分|2130
    本文涉及知识点C++动态规划数学LeetCode1039.多边形三角剖分的最低得分你有一个凸的n边形,其每个顶点都有一个整数值。给定一个整数数组values,其中values[i]是第i个顶点的值(即顺时针顺序)。假设将多边形剖分为n-2个三角形。对于每个三角形,该三角形的值......
  • [BZOJ3159] 决战 题解
    个人感觉各方面难度高于《在美妙的数学王国中畅游》,也不知道是不是求导的关系,这题\(luogu\)难度评级还更低。不过感觉这题作完对\(LCT\)理解更顺畅了。前四个操作简单,关键在第五人格操作。注意力惊人的注意到我们无法像普通\(Splay\)一样,直接对\(LCT\)中的\(Splay\)......
  • Kubernetes集群运维生产常见问题解析与解决方案
    前言:在Kubernetes集群的日常运维工作中,我们难免会遇到各种各样的问题。这些问题可能涉及到集群的部署、配置、监控、性能优化等多个方面。为了解决这些问题,我们需要不断地学习和积累经验。在这里,我打算收集并整理一些网友曾经提出的问题,并提供相应的解析和解决方案,之前的问题无从......
  • Three.js 数学工具:构建精确3D世界的基石
    文章目录前言一、向量(Vectors)二、矩阵(Matrices)三、四元数(Quaternions)四、欧拉角(EulerAngles)五、颜色(Colors)六、几何体生成器(GeometryGenerators)七、随机数生成(RandomNumberGeneration)八、时间和动画(TimeandAnimation)九、光线追踪与碰撞检测(RayTracingandCollisi......
  • 2024 年 06 月 GESP C++ 一级真题解析
    ......
  • 组合数学
    二项式定理十分重要。二项式里面不一定是\(x+y\),也可能是\(ax+by\),加个快速幂求\(a,b\)在系数里的即可(例)卢卡斯定理用于解决组合数的\(n,m\)太大,但是模数不大的情况模板。若模数也很大并且不是质数,可以将模数分解用卢卡斯定理求,再用中国剩余定理合并。(例)求不定方程解数,给定\(......
  • [THUWC2017] 在美妙的数学王国中畅游 题解(内附求导小技巧)
    事实证明物竞笔记是个好东西,可惜没带,不然还能谎称自己会一点求导和微积分。顺便在这里把比较经典的一些关于求导的东西记录一下:常用函数求导:\(C'=0,(x^n)'=nx^{n-1},(\log_ax)'=\frac1{x\lna}\)\((\lnx)'=\frac1x,(a^x)'=a^x\lna,(e^x)'=e^x\)\((\sinx)'=\cosx=\sin(......
  • [THUWC2017] 在美妙的数学王国中畅游 题解(内附求导小技巧)
    事实证明物竞笔记是个好东西,可惜没带,不然还能谎称自己会一点求导和微积分。顺便在这里把比较经典的一些关于求导的东西记录一下:常用函数求导:\(C'=0,(x^n)'=nx^{n-1},(\log_ax)'=\frac1{x\lna}\)\((\lnx)'=\frac1x,(a^x)'=a^x\lna,(e^x)'=e^x\)\((\sinx)'=\cosx=\sin(......
  • 信息安全数学基础-期末(第四、五章)
    二次剩余定义(重要#)这一章本质是认识性质到应用这个问题定义,那么知识点从上到下就是如何解决这个问题,再到这个其他问题转化到这个定义上面求一个mod的全部二次剩余:直接一个一个的式解二次同余式相当于多一个降次,再多一个分情况讨论正负的结果方法:一个一个试模为奇素数的平......