首页 > 其他分享 >数位DP

数位DP

时间:2022-10-04 20:15:01浏览次数:47  
标签:aa 10 return int res num DP 数位

Acwing 338. 计数问题

给定两个整数 aa 和 bb,求 aa 和 bb 之间的所有数字中 0∼90∼9 的出现次数。

例如,a=1024,b=1032a=1024,b=1032,则 aa 和 bb 之间共有 99 个数如下:

1024 1025 1026 1027 1028 1029 1030 1031 1032

其中 0 出现 1010 次,1 出现 1010 次,2 出现 77 次,3 出现 33 次等等…

 

 

#include<bits/stdc++.h>
using namespace std;

int power10(int x)
{
	int res=1;
	while(x--) res=res*10;
	return res;
}

int get(vector<int>num,int l,int r)
{
	int res=0;
	for(int i=l;i>=r;i--) res=res*10+num[i];
	return res; 
}

int count(int n,int x)
{
    if(!n) return 0;
    vector<int>num;
    while(n) num.push_back(n%10),n/=10;
    
    n=num.size();
    
    int res=0;
    for(int i=n-1-!x;i>=0;i--)
    {
        if(i<n-1)
        {
            res+=get(num,n-1,i+1)*power10(i);
            if(!x) res-=power10(i);
        }
        if(num[i]==x) res+=get(num,i-1,0)+1;
        else if(num[i]>x) res+=power10(i);
    }
    return res;
}

int main(){
    int a,b;
    while(cin>>a>>b,a||b)
    {
        if(a>b) swap(a,b);
        for(int i=0;i<=9;i++)
        {
            printf("%d ",count(b,i)-count(a-1,i));
        }
        printf("\n");
    }
    return 0;
}

  

标签:aa,10,return,int,res,num,DP,数位
From: https://www.cnblogs.com/mrkou/p/16754337.html

相关文章

  • 「CF1455G」Forbidden Value 题解 (DP,线段树合并)
    题目简介已知初始值\(x=0\),给定下面\(2\)种命令:set\(y\)\(v\),令\(x=y\),或花费\(v\)元钱删除该命令;if\(y\)...end,如果\(x==y\),执行if...end中的命令,否则跳......
  • C# UdpClient发送超过1500字节MTU的数据包会怎么样
    如果不设置DontFragmentudpClient.DontFragment=false;那么可以发送数据包。接收端随缘收到数据包。使用WireShark可以检测到网卡上对应的数据包。如果设置DontFragm......
  • UDP程序设计
    UDP程序设计​无连接,不可靠的数据报协议-->简单,快捷域名系统,简单网络管理协议(SNMP),网络文件系统(NFS),动态主机配置协议(DHCP),实时传输协议RTP服务器端:创建socket......
  • 洛谷 CF550C Divisibility by Eight(DP/数论)
    遇事不决,小学数学。https://www.luogu.com.cn/problem/CF550C题目大意:给你一个位数不超过100的非负整数N(不含前导0)。你的任务是判断这个数字能否通过去掉其中......
  • TCP与UDP的联系与区别
    联系:1:TCP(TransmissionControlProtocol,传输控制协议)和UDP(UserDataProtocol,用户数据报协议)都属于TCP/IP协议簇2:TCP/IP协议集包括超文本传输协议(HTTP),文本传输协议(FTP......
  • dp----得到方案方法的技巧
    《题一》原题链接:https://atcoder.jp/contests/abc271/tasks/abc271_d翻译:问题陈述有N张卡片,每面写一个整数。卡片正面写着一个整数ai,背面写着一位整数bi。您可以选......
  • wordpress多节点部署+rsync备份图片
    基于LAMP架构搭建LB+web+mysql+nas架构,实现从web站点上传的图片自动同步(wordpress)环境:10.0.0.128apache+wordpress服务,数据库主库指向10.0.0.132,基于docker来安装,映射......
  • 0816-CDP Hive3升级说明
    文档编写目的CDH5中的Hive版本是1.1,而CDP7中的Hive版本为3。Hive3相对Hive1更新特别多,比如支持全新的ACIDv2机制,并且底层使用Tez和内存进行查询,相比MR的方式性能提升超过10......
  • 0805-CDH5中的Parquet迁移至CDP中兼容性验证
    文档编写目的因为CDH5中的Parquet版本为1.5,而CDP7中的Parquet版本为1.10,我们在从CDH5升级到CDP7后,无论是原地升级还是迁移升级,都可能会碰到一个问题,以前在CDH5中使用Hive/Im......
  • 0869-7.1.7-如何在CDP中使用Hive Bulkload批量导入数据到HBase
    1.文档编写目的在遇到将Hive中的数据同步到HBase时,一般都是通过在Hive中创建映射HBase的表,然后通过insert的方式来实现,在数据量小的时候,往往还能接受,但是如果是大批量数据,除......