https://codeforces.com/problemset/problem/1073/E

题意:[l,r]中,出现0—9数字的种类数不超过k的数的和

dp[i][j][0/1] 表示 dfs到第i位以后,数字出现的情况状态为j能转移的状态,是否有上界限制的数字的和

f[i][j] 表示 dfs到第i位以后,数字出现的情况状态为j能转移的状态,没有上界限制的数字的个数

枚举这一位填什么

加上这一位的贡献,加上填上这一位之后后面数的贡献

数字出现状态:若i出现过,则状态j的第i位二进制位为1

#include<cstdio>
#include<cstring> using namespace std; typedef long long LL; const int mod=; int dp[][(<<)+][],f[][(<<)+];
int ans,m;
int a[],pow10[];
bool va[(<<)+]; int k; LL dfs(int dep,int s,int lim,bool zero)
{
if(!va[s]) return ;
if(!lim && f[dep][s]!=-) return f[dep][s];
if(!dep) return ;
int up=lim ? a[dep] : ,nl,news,tmp;
int sum=;
for(int i=;i<=up;++i)
{
if(zero && !i) news=;
else news=s|<<i;
nl=lim && a[dep]==i;
tmp=dfs(dep-,news,nl,zero && !i);
dp[dep][s][lim]+=1ll*tmp*i%mod*pow10[dep-]%mod;
dp[dep][s][lim]%=mod;
dp[dep][s][lim]+=dp[dep-][news][nl];
dp[dep][s][lim]%=mod;
sum+=tmp;
sum%=mod;
}
if(!lim) f[dep][s]=sum;
return sum;
} void solve(long long n,int ty)
{
int len=;
while(n) a[++len]=n%,n/=;
memset(f,-,sizeof(f));
memset(dp,,sizeof(dp));
dfs(len,,,);
ans+=ty*dp[len][][];
ans%=mod;
if(ans<) ans+=mod;
} bool check(int s)
{
int p=;
for(int i=;i<=;++i)
if(s&<<i) p++;
if(p<=k) return ;
else return ;
} int main()
{
LL l,r;
scanf("%lld%lld%d",&l,&r,&k);
pow10[]=;
for(int i=;i<;++i) pow10[i]=1ll*pow10[i-]*%mod;
m=<<;
for(int i=;i<m;++i) va[i]=check(i);
solve(r,);
solve(l-,-);
printf("%d",ans);
}

CF 1073 E. Segment Sum的更多相关文章

  1. Codeforces 1073 E - Segment Sum

    E - Segment Sum 思路: 数位dp 我们平时做的数位dp都是求满足条件的数的个数, 这里要求满足条件的数的和 只要在原来的基础上求每一位的贡献就可以了,所以传参数时要传两个 代码: #p ...

  2. CF1073E Segment Sum 解题报告

    CF1073E Segment Sum 题意翻译 给定\(K,L,R\),求\(L~R\)之间最多不包含超过\(K\)个数码的数的和. \(K\le 10,L,R\le 10^{18}\) 数位dp ...

  3. CF1073E Segment Sum 自闭了

    CF1073E Segment Sum 题意翻译 给定\(K,L,R\),求\(L\)~\(R\)之间最多不包含超过\(K\)个数码的数的和. \(K<=10,L,R<=1e18\) 我 ...

  4. Educational Codeforces Round 53 E. Segment Sum(数位DP)

    Educational Codeforces Round 53 E. Segment Sum 题意: 问[L,R]区间内有多少个数满足:其由不超过k种数字构成. 思路: 数位DP裸题,也比较好想.由于 ...

  5. Educational Codeforces Round 53 (Rated for Div. 2) E. Segment Sum

    https://codeforces.com/contest/1073/problem/E 题意 求出l到r之间的符合要求的数之和,结果取模998244353 要求:组成数的数位所用的数字种类不超过k ...

  6. CodeForces - 1073E :Segment Sum (数位DP)

    You are given two integers l l and r r (l≤r l≤r ). Your task is to calculate the sum of numbers from ...

  7. Educational Codeforces Round 53 (Rated for Div. 2) E. Segment Sum (数位dp求和)

    题目链接:https://codeforces.com/contest/1073/problem/E 题目大意:给定一个区间[l,r],需要求出区间[l,r]内符合数位上的不同数字个数不超过k个的数的 ...

  8. E. Segment Sum(数位dp)

    题意:求一个区间内满足所有数位不同数字个数小于K的数字总和.比如:k=2   1,2,3所有数位的不同数字的个数为1满足,但是123数位上有三个不同的数字,即123不满足. 我们可以使用一个二进制的数 ...

  9. CF 910 C. Minimum Sum

    链接 [http://codeforces.com/group/1EzrFFyOc0/contest/910/problem/C] 题意 给你n个字符串,每个字符串的字符是a~j,每个字符都可以是0~ ...

随机推荐

  1. PHP实现敏感词过滤

    1.敏感词过滤方法 /** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数组 * @param string $string 要过滤的内容 * @re ...

  2. 手机CPU那些事

    原文:https://zhuanlan.zhihu.com/p/19923974 如今人们买手机,都比较关心采用了什么 CPU,因为 CPU 直接决定了这台手机的性能,CPU 之于手机 就好比人的大脑 ...

  3. 安装rpm包时提示错误:依赖检测失败的解决方法

    安装rpm包时提示错误:依赖检测失败 解决方法: 命令末尾加上--nodeps --force

  4. ubuntu14.04安装好Hadoo之后接着安装hbase和介绍常用命令

    1.解压 tar -zxvf hbase-1.0.0-bin.tar.gzsudo mv hbase-1.0.0 /opt/hbasecd /optsudo chmod -R 775 hbase 2. ...

  5. 获取SqlServer存储过程定义的三种方法

    declare @p_text varchar(max) SELECT @p_text= text FROM syscomments WHERE id = ( SELECT id FROM sysob ...

  6. C:数值溢出问题

    当超过一个数据类型能够存放最大的范围时,数值会溢出. 有符号位最高位溢出的区别:符号位溢出会导致数的正负发生改变,但最高位的溢出会导致最高位丢失. #include <stdio.h> i ...

  7. 一行代码解决 sql语句 in传入数组变字符串

    --数组 var arrs= ['test1','test2','test3'];--变字符串 var instring = "'"+arrs.join("','&quo ...

  8. 吴裕雄 python 神经网络——TensorFlow 花瓣识别2

    import glob import os.path import numpy as np import tensorflow as tf from tensorflow.python.platfor ...

  9. javascript 原型继承 与class extends 继承对比

      //父类 Animal function Animal (name) { this.name = name; this.sleep = function () { console.log(this ...

  10. Laravel 6.X + Vue.js 2.X + Element UI 开发知乎流程

    本流程参照:CODECASTS的Laravel Vuejs 实战:开发知乎 视频教程 1项目环境配置和用户表设计 2Laravel 开发知乎:用户注册 3Laravel 开发知乎:用户登录 4Lara ...