码迷,mamicode.com
首页 > 其他好文 > 详细

The Preliminary Contest for ICPC Asia Shanghai 2019 L. Digit sum

时间:2020-03-03 17:33:14      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:its   syn   ase   false   als   代码   link   http   i++   

Link
题意:
定义 \(S_b(n)\)\(b\) 进制下 \(n\) 的数位和
已知 \(N\)\(b\)
\(\sum_{n=1}^{N}{S_b(n)}\)
思路:
因为测试数据很多,所以要预处理前缀和
\(S_b(n)=S_b(n/b)+n\%b \Longrightarrow sum[b][n]=sum[b][n/b]-sum[b][n/b-1]+n\%b+sum[b][n-1]\)
代码:

#include<bits/stdc++.h>

using namespace std;
 
int s[11][1000001]={0};
 
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    for(int i=2;i<=10;i++)
        for(int j=1;j<=1000000;j++) {
            s[i][j]=s[i][j/i]+j%i+s[i][j-1];
            if(j/i) s[i][j]-=s[i][j/i-1];
        }   
    int T;cin>>T;
    int n,b;
    for(int i=1;i<=T;i++) {
        cin>>n>>b;
        cout<<"Case #"<<i<<": "<<s[b][n]<<endl;
    }
    return 0;
}

The Preliminary Contest for ICPC Asia Shanghai 2019 L. Digit sum

标签:its   syn   ase   false   als   代码   link   http   i++   

原文地址:https://www.cnblogs.com/c4Lnn/p/12403404.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!