xdoj Problem 1023 - Data Statistic

简介:

Problem 1023 - Data Statistic

 

       一个很典型的数位统计,统计0-n中p进制下字符k出现了多少次。

       最不会的题目就是数位统计了,每次写这种题都写得头晕。今天先是想学学数位dp的,但学了一下午还是不会……还是太弱了。

        直到晚上还是用普通的统计方法写了,这题有一个奸诈之处就是k可能大于p……

 

       真的弱爆了,现在啥都不会了,继续好好刷题,希望元旦之前可以推进到dp,每天至少一题

 

/*
author:jxy
lang:C/C++
university:China,Xidian University
**If you need to reprint,please indicate the source**
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <math.h>
using namespace std;
int main()
{
    long long n;
    int base,A,now;
    char aim;
    long long b[65]={0,1},c[65]={0,1},i;
    while(~scanf("%lld%d%*c%c",&n,&base,&aim))
    {
        if(aim>='0'&&aim<='9')A=aim-'0';
        else if(aim>='A'&&aim<='Z')A=aim-'A'+10;
        else A=aim-'a'+36;

        if(A==0&&n==0){printf("1\n");continue;}
        if(A>=base){printf("0\n");continue;}

        long long level,ans=0,now;
        level=(1.0*log(n)/log(base))+1.0;
        for(i=2;i<=level;i++)
        {
            b[i]=base*b[i-1];
            c[i]=b[i]*i;
        }
        for(i=level;i>0;i--)
        {
            now=n/b[i];n%=b[i];
            ans+=now*c[i-1];
            if(now>A)ans+=b[i];
            if(now==A)ans+=n+1;
        }
        if(A==0)
        {
            for(i=level;i>0;i--) ans-=b[i];
            ans++;
        }
        printf("%lld\n",ans);
    }
}


 

目录
相关文章
|
12月前
|
缓存 前端开发 JavaScript
一、nginx配置
一、nginx配置
539 1
|
运维 监控 安全
构建高效自动化运维体系的五大关键步骤
在当今快速发展的IT环境中,自动化已经成为提高运维效率、减少人为错误和响应快速变化的关键。本文将深入探讨构建一个高效自动化运维体系的核心步骤,包括工具选择、流程设计、系统集成、安全策略以及持续改进。通过这些步骤,企业可以确保其运维团队能够更加高效地管理日常任务,同时保持系统的稳定性和安全性。
|
NoSQL Java 数据处理
Redis和Spring Boot的绝佳组合:Lua脚本的黑科技
Redis和Spring Boot的绝佳组合:Lua脚本的黑科技
267 0
|
人工智能 Java 数据库连接
ResourceManager unable to find resource .
# Mybatis Velocity模板引擎问题详解 当遇到`ResourceManagerException`无法找到资源时,可能原因包括:资源路径不正确、未正确加载文件、编码不一致或Velocity配置错误。解决方案包括:检查并修正资源文件路径、确保资源文件加载配置、统一文件编码和审查Velocity引擎配置。详细步骤和配置示例见原文。[阅读完整文章以获取更多帮助](&lt;!-- article_link --&gt;)。我是木头左,和你一起探索AI世界!
 ResourceManager unable to find resource .
|
监控 安全
安全看得见,阿里云性能监控 ARMS 全真3D拓扑实现一“屏”了然
微服务架构下,各类服务之间存在着错综复杂的依赖关系。一旦业务出现问题,追查问题源头就好比大海捞针,没有头绪。但业务不等人,此时,在最短的时间内定位问题根源是开发和运维人员对微服务监控产品的核心诉求。 传统的监控产品提供了表格(table)、表单(form)和仪表盘(dashboard)三种展现形式,因其局限性,并无法完整和直观的提供监控详情,以快速定位问题。
4154 0
|
缓存 网络协议 PHP
|
存储 数据库 对象存储
非结构化数据迁移介绍|学习笔记
快速学习非结构化数据迁移介绍
非结构化数据迁移介绍|学习笔记
使用Chrome-headless模式下,截屏不全屏的问题
使用Chrome-headless模式下,截屏不全屏的问题
使用Chrome-headless模式下,截屏不全屏的问题
|
传感器 存储 机器学习/深度学习
【WSN通信】基于最佳簇半径的无线传感器网络分簇路由算法附matlab代码
【WSN通信】基于最佳簇半径的无线传感器网络分簇路由算法附matlab代码
|
运维 Cloud Native 安全
招行架构师徐佳航:金融云原生与开源标准的共同生长
云原生的技术价值喻示着它就是未来,加入到一个具有可延续性生命力的开源社区,可以帮助我们更快地到达那里。——徐佳航,KubeVela Maintainer,来自招商银行基础设施研发中心云平台及运维平台开发团队。
招行架构师徐佳航:金融云原生与开源标准的共同生长