题目链接:hdu_5787_K-wolf Number

题意:

给你一个区间,让你找满足任意k个数位内都没有相同的数字的个数

题解:

因为k不大,就直接将当前pos的前k-1个数传进去就行了

 #include<cstdio>
#include<cstring>
int dig[],len,k;
long long dp[][][][][][]; long long dfs(int pos,int pre[],bool inf,bool ze=)
{
if(!pos)return ;
long long *pp=&dp[pos][pre[]][pre[]][pre[]][pre[]][ze];
if(!inf&&(*pp)!=-)return *pp;
int en=inf?dig[pos]:;
long long ans=;
for(int i=;i<=en;i++){
int fg=,pr[];;
for(int j=;j<k&&j<=len-pos&&ze==;j++)if(i==pre[j]){fg=;}
if(fg)continue;
for(int j=;j<=;j++)pr[j]=;
for(int j=k-;j>=;j--)pr[j]=pre[j-];
if(i==&&ze)pr[]=;else pr[]=i;
ans+=dfs(pos-,pr,inf&&i==en,(i==&&ze));
}
if(!inf)*pp=ans;
return ans;
} int main()
{
long long l,r;
while(~scanf("%lld%lld%d",&l,&r,&k)){
memset(dp,-,sizeof(dp)),l--;
for(len=;l;l/=)dig[++len]=l%;
int pre[];
for(int i=;i<=;i++)pre[i]=;
long long tmp=dfs(len,pre,);
for(len=;r;r/=)dig[++len]=r%;
for(int i=;i<=;i++)pre[i]=;
printf("%lld\n",dfs(len,pre,)-tmp);
}
return ;
}

hdu_5787_K-wolf Number(数位DP)的更多相关文章

  1. 多校5 HDU5787 K-wolf Number 数位DP

    // 多校5 HDU5787 K-wolf Number 数位DP // dp[pos][a][b][c][d][f] 当前在pos,前四个数分别是a b c d // f 用作标记,当现在枚举的数小 ...

  2. hdu 5898 odd-even number 数位DP

    传送门:hdu 5898 odd-even number 思路:数位DP,套着数位DP的模板搞一发就可以了不过要注意前导0的处理,dp[pos][pre][status][ze] pos:当前处理的位 ...

  3. codeforces Hill Number 数位dp

    http://www.codeforces.com/gym/100827/attachments Hill Number Time Limits:  5000 MS   Memory Limits: ...

  4. HDU 5787 K-wolf Number 数位DP

    K-wolf Number Problem Description   Alice thinks an integer x is a K-wolf number, if every K adjacen ...

  5. Fzu2109 Mountain Number 数位dp

    Accept: 189    Submit: 461Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description One ...

  6. HDU 3709 Balanced Number (数位DP)

    Balanced Number Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) ...

  7. beautiful number 数位DP codeforces 55D

    题目链接: http://codeforces.com/problemset/problem/55/D 数位DP 题目描述: 一个数能被它每位上的数字整除(0除外),那么它就是beautiful nu ...

  8. FZU - 2109 Mountain Number 数位dp

    Mountain Number One integer number x is called "Mountain Number" if: (1) x>0 and x is a ...

  9. BNU 13024 . Fi Binary Number 数位dp/fibonacci数列

    B. Fi Binary Number     A Fi-binary number is a number that contains only 0 and 1. It does not conta ...

  10. hdu 5898 odd-even number(数位dp)

    Problem Description For a number,if the length of continuous odd digits is even and the length of co ...

随机推荐

  1. 关于PHP的一小段代码求解如下求解"%2\$s"

    <?php$format = "The %2\$s contains %1\$d monkeys";printf($format, 8, "北京");?& ...

  2. 集线器(HUB),交换机,和路由器的区别

    交换机与集线器的区别从大的方面来看可以分为以下三点: 1.从OSI体系结构来看,集线器属于OSI第一层物理层设备,而交换机属于OSI的第二层数据链路层设备.也就意味着集线器只是对数据的传输起到同步.放 ...

  3. 大型网站技术架构 核心原理与案例分析 pdf

    需要的小伙伴拿去,哈哈.百度云链接:https://pan.baidu.com/s/1hsuiM3q

  4. jquery 学习笔记 (2)--write less,do more

    $(window).load(function(){      })           window.onload=function(){ } toggle()方法 toggle()方法的语法结构: ...

  5. pthon之异常、文件练习题

    1.在当前目录下查找文件夹“电摄班”,如果不存在则创建2.在电摄班下创建boys.girls.两个txt文件3.将字典中属于电摄班的同学按男女区分,分别放到boys.girls文件中,每个名字在文件中 ...

  6. AIDL机制实现进程间的通讯实例

    转载自:http://blog.csdn.net/cjjky/article/details/7562652 ======================================= 在Andr ...

  7. Linux安全审计命令

    安全审计 数据分析 capinfos xxx.pcap 产看数据包基本信息 日志分析 who /var/log/wtmp #查看登录用户信息 哈希校验 sha265 文件名 md5sum 文件名 &g ...

  8. html历史

    方法一: location.hash = 'abc' window.onhashchange = function(){} location.hash  返回结果 #abc  => locati ...

  9. 《JS权威指南学习总结--8.7 函数属性、方法和构造函数》

    内容要点:   在JS程序中,函数是值.对函数执行typeof运算会返回字符串 "function",但是函数是JS中特殊的对象.因为函数也是对象,它们也可以拥有属性和方法,就像普 ...

  10. PostgreSQL ----- No relations found.

    本篇文章可能有错,尚未细细研究 运行\d出错: No relations found. \d只显示可见的表,也就是该数据库的schema在search_path中. SHOW search_path; ...