HDU3709
来源:互联网 发布:java发送邮件工具类 编辑:程序博客网 时间:2024/06/05 13:28
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;typedef __int64 ll;ll len,wei[22];ll dp[22][22][2005];//hdu3709平衡数ll dfs(ll pos,ll pre,ll o,ll limit){//limit代表当前数字有没有上限 if(pos==0){//已经遍历完每一位的时候 if(pre==0){return 1;}//修改部分 return 0; } if(pre<0)return 0; if(limit==0&&dp[pos][o][pre]!=-1){return dp[pos][o][pre];} ll ans=0; ll ed=limit?wei[pos]:9; for(ll i=0;i<=ed;i++){//修改部分 ll nextpre=pre+(pos-o)*i; ans+=dfs(pos-1,nextpre,o,limit&&i==ed); } if(!limit)dp[pos][o][pre]=ans;//如果当前没有上限,保存dp值 return ans;}ll solve(ll x){ if(x==-1)return 0; if(x==0)return 1; ll t=x; len=0; while(t){ wei[++len]=t%10; t/=10; } ll ans=0,i; for(i=len;i>0;i--) //修改 ans+=dfs(len,0,i,1);//修改 ans-=(len-1); return ans;}int main(){ ll t,l,r; memset(dp,-1,sizeof(dp)); scanf("%I64d",&t); while(t--){ scanf("%I64d%I64d",&l,&r); printf("%I64d\n",solve(r)-solve(l-1)); } return 0;}
阅读全文
0 0
- hdu3709
- HDU3709
- HDU3709
- hdu3709 枚举
- hdu3709 Balanced Number
- hdu3709(数位dp)
- hdu3709 Balanced Number
- hdu3709 Balanced Number
- 【HDU3709】【Balanced Number】
- 数位DP hdu3709 枚举
- hdu3709 数位dp
- hdu3709: Balanced Number
- hdu3709 Balanced Number
- 【HDU3709】 Balanced Number
- HDU3709 Balanced Number
- hdu3709——数位dp
- HDU3709 Balanced Number 数位DP
- [HDU3709]Balanced Number && 数位DP
- APP 开发 和ios 安卓的交互大全
- Spring Controller 获取中文参数值乱码问题解决
- keepalived+nginx双机热备+负载均衡 非抢占模式
- Android Notification 详解
- Linux中文件的可读,可写,可执行权限的解读以及chmod,chown,chgrp命令的用法
- HDU3709
- 面试记录第八节——(listview面试)
- .net 简易数据库操作框架1.2
- 学习笔记:ES6之数值扩展
- SSM ---数据库语句 MApper.xml
- 怎么发表期刊
- main函数调用自己本身
- centos7 安装telent和telnet-server
- Java下利用Jackson进行JSON解析和序列化