zoukankan      html  css  js  c++  java
  • 2019ICPC 上海网络赛 L. Digit sum(二维树状数组+区间求和)

    https://nanti.jisuanke.com/t/41422

     题目大意:

    给出n和b,求1到n,各数在b进制下各位数之和的总和。

    直接暴力模拟,TLE。。

    没想到是要打表。。。还是太菜了。

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <iostream>
     4 #include <string>
     5 #include <math.h>
     6 #include <algorithm>
     7 #include <vector>
     8 #include <stack>
     9 #include <queue>
    10 #include <set>
    11 #include <map>
    12 #include <math.h>
    13 const int INF=0x3f3f3f3f;
    14 typedef long long LL;
    15 const int mod=1e9+7;
    16 const int maxn=1e6+10;
    17 using namespace std;
    18 
    19 int c[11][maxn];
    20 
    21 int lowbit(int x)
    22 {
    23     return x&(-x);
    24 }
    25 
    26 void Update(int f,int n,int val)
    27 {
    28     while(n<maxn)
    29     {
    30         c[f][n]+=val;
    31         n+=lowbit(n);
    32     }
    33 }
    34 
    35 int Query(int f,int n)
    36 {
    37     int sum=0;
    38     while(n>0)
    39     {
    40         sum+=c[f][n];
    41         n-=lowbit(n);
    42     }
    43     return sum;
    44 }
    45 
    46 void init()//对每个进制建立一个树状数组,将2到10进制的所有数的结果全计算出来
    47 {
    48     for(int i=2;i<=10;i++)
    49     {
    50         for(int j=1;j<maxn;j++)
    51         {
    52             int sum=0;
    53             int t=j;
    54             do{
    55                 sum+=(t%i);
    56                 t/=i;
    57             }while(t);
    58             Update(i,j,sum);
    59         }
    60     }
    61 }
    62 
    63 int main()
    64 {
    65     int T;
    66     scanf("%d",&T);
    67     init();//打表 
    68     for(int k=1;k<=T;k++)
    69     {
    70         int n,b;
    71         scanf("%d %d",&n,&b);
    72         printf("Case #%d: %d
    ",k,Query(b,n));
    73     }
    74     return 0;
    75 }
  • 相关阅读:
    Docker-网络命名空间
    Docker-为镜像添加SSH服务(CentOS)
    Docker-Dockerfile方式创建镜像
    Docker-Dockerfile方式创建数据卷容器
    MySQL-存储过程批量插入数据
    CentOS 升级内核
    集合-ConcurrentHashMap-jdk1.7
    Redis Lua脚本
    javascript中的string对象
    初识 控制台
  • 原文地址:https://www.cnblogs.com/jiamian/p/11525163.html
Copyright © 2011-2022 走看看