study in PTA(高精度算法与预处理)(2025.12.3)

7-11 GC学姐与大水仙花 - 25笨蛋队专属新生赛赛前模拟(补题)

1.这是我开始的代码

只有5分(满分20)

cpp 复制代码
#include <iostream>
#include <cmath>
using namespace std;

#define int long long

signed main()
{   int x;
    cin>>x;
    int sum=0;
    int cnt=0;

    int x1=x;
    while(x1)
        {x1/=10;
         cnt++;
        }

    int i=1;
    while(x)
        {int replace=x%10;
         sum+=pow(replace,i);
         i++;
         x/=10;
         //cout<<sum<<endl;
        }

    int result=sum%(1000000000+7);
    cout<<result;
    return 0;
}

后面一看数据

才知道(因为long long只有19位的数字,而这个数据是十万零一位数字,long long已经无法满足数据要求)

要用高精度算法,又为了避免运行超时所以使用了预处理

2.终极代码

cpp 复制代码
#include <iostream>
using namespace std;
#define int long long

int p[10][1000010]={0};
int m=1000000007;
string x;

signed main(){
    //预处理
    for(int i=0;i<10;i++)
    for(int j=0;j<=1000000;j++){
        if(j==0)p[i][j]=1;
        else{
            p[i][j]=p[i][j-1]*i%m;
        }
    }

    cin>>x;
    int digital=0;
    int ans=0;
    int j=1;
    for(int i=x.size()-1;i>=0;i--){//忘记是-了
        digital=x[i]-'0';
        ans+=p[digital][j++];
        ans%=m;//忘记取余了
    }
    cout<<ans;
    return 0;
}
相关推荐
手写码匠20 分钟前
深入解析大模型架构之争:全能通用模型 vs 领域专精模型
人工智能·深度学习·算法·aigc
浅念-1 小时前
LeetCode 回溯算法题——综合练习
数据结构·c++·算法·leetcode·职场和发展·深度优先·dfs
列星随旋1 小时前
线段树和树状数组的学习
学习·算法
楼田莉子2 小时前
C++17新特性:__had_include/属性/求值顺序规则
开发语言·c++·后端
全糖可乐气泡水3 小时前
Codex适配国产信创环境安装部署与技术适配全解析
开发语言·git·python·算法·百度
h_a_o777oah3 小时前
状态机+划分型 DP :深度解析K-划分问题下 DP 状态的转移逻辑(洛谷P2679 P2331 附C++代码)
c++·算法·动态规划·acm·状态机dp·划分型dp·滚动数组优化
05候补工程师4 小时前
从算法理想向工程现实的跨越:SLAM 核心架构、思维误区与 Nav2 实战避坑指南
人工智能·算法·安全·架构·机器人
手写码匠5 小时前
Android 17 适配实战指南:新特性解读、隐私变更与迁移全攻略
人工智能·深度学习·算法·aigc
雪度娃娃5 小时前
Asio异步读写——连接的安全回收问题
开发语言·c++·安全·php