枚举fix所在的位置loc即可,然后数位dp即可

这题要注意一种特殊情况,就是所有位都是0的时候对于每个fix都是成立的

/*
dp[i][j][k]表示前i位确定了平衡点在第j位,前i位和为k
fix需要在开始dfs前就预先确定下来
*/
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll dp[][][],a[];
ll dfs(ll pos,ll fix,ll sum,ll lim){
if(pos==)return sum==?:;
if(sum<)return ;
if(!lim && dp[pos][fix][sum]!=-)
return dp[pos][fix][sum];
int num=lim?a[pos]:;
ll res=;
for(int i=;i<=num;i++)
res+=dfs(pos-,fix,sum+i*(pos-fix),lim&&i==num);;
if(!lim)dp[pos][fix][sum]=res;
return res;
}
ll calc(ll x){
if(x==-)return ;
ll len=,res=;
while(x){
a[++len]=x%;
x/=;
}
for(int i=len;i>=;i--)
res+=dfs(len,i,,);
return res-len+;
}
int main(){
memset(dp,-,sizeof dp);
int t;
cin>>t;
while(t--){
ll A,B;
cin>>A>>B;
cout<<calc(B)-calc(A-)<<endl;
}
}

hdu3709 数位dp的更多相关文章

  1. HDU3709 Balanced Number (数位dp)

     Balanced Number Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Descript ...

  2. hdu3709(数位dp)

    求区间[l,r]内有多少个数的满足:   选一个位为中点,是的左边的数到该位的距离等于右边的位到该位的距离. 比如4139  选择3位中点, 那么左边的距离是 4 * 2 + 1 * 1 , 右边的距 ...

  3. [暑假集训--数位dp]hdu3709 Balanced Number

    A balanced number is a non-negative integer that can be balanced if a pivot is placed at some digit. ...

  4. HDU3709 Balanced Number 题解 数位DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3709 题目大意: 求区间 \([x, y]\) 范围内"平衡数"的数量. 所谓平衡 ...

  5. 几道数位DP

    因为这几天写的几道数位DP大多都太水..而且也确实没什么好讲所以就扔到一起了. [hdu4772]Good Numbers 要求统计区间内 各位数之和能被10整除 的数的个数. 练手,f[i][j][ ...

  6. 蒟蒻的数位DP专题总结

    BZOJ  1026: [SCOI2009]windy数: 题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1026           d ...

  7. 【BZOJ1662】[Usaco2006 Nov]Round Numbers 圆环数 数位DP

    [BZOJ1662][Usaco2006 Nov]Round Numbers 圆环数 Description 正如你所知,奶牛们没有手指以至于不能玩"石头剪刀布"来任意地决定例如谁 ...

  8. bzoj1026数位dp

    基础的数位dp 但是ce了一发,(abs难道不是cmath里的吗?改成bits/stdc++.h就过了) #include <bits/stdc++.h> using namespace ...

  9. uva12063数位dp

    辣鸡军训毁我青春!!! 因为在军训,导致很长时间都只能看书yy题目,而不能溜到机房鏼题 于是在猫大的帮助下我发现这道习题是数位dp 然后想起之前讲dp的时候一直在补作业所以没怎么写,然后就试了试 果然 ...

随机推荐

  1. kettle查询-2

    模糊匹配: 1.主数据/查询数据 2.模糊匹配 3.输出:jaro/jaro winkler/pair letters similarity(各自算法的匹配度measure value) http c ...

  2. ORM之自关联、add、set方法、聚合函数、F、Q查询和事务

    一.外键自关联(一对多) 1.建表 # 评论表 class Comment(models.Model): id = models.AutoField(primary_key=True) content ...

  3. 使用System.out.printf()输出日志重定向到文件后显示混乱问题

    写了一个小工具,使用System.out.printf()输出日志,以方便使用者查看,在终端显示没有问题,但重定向到文件就有问题了,会出现一些很奇怪的乱序现象. 上网查询资料,判断应该是跟重定向和Li ...

  4. [python]python3.7中文手册

    https://pythoncaff.com/docs/tutorial/3.7.0

  5. python之路day01--变量

    一.变量 变量就是将一些运算的中间结果暂存到内存中,以便后续代码块调用. 规范: 1.必须由数字.字母.下划线任意组合,且不能数字开头. 2.不能是python中的关键字.如:‘print’ 'and ...

  6. pycharm 运行错误信息显示乱码

    pycharm版本 解决方法:

  7. linux系统无法启动或无法登入

    修改root权限: https://blog.csdn.net/houjue2298/article/details/78539827 修改密码: https://www.cnblogs.com/we ...

  8. 为什么wait()方法要放在同步块

    回顾一下,如果wait()方法不在同步块中,代码的确会抛出异常: public class WaitInSyncBlockTest { @Test public void test() { try { ...

  9. vue使用md5,base64方法

    在前端加密代码虽然对安全没有提高,但是可以避免明文传输,提供用户隐私保护,还是很有必要的. 首先安装js-md5,js-base64. 在vue中引入. 之后就可以直接使用了,一般的做法是先把密码转行 ...

  10. react-router v4 按需加载的配置方法

    在react项目开发中,当访问默认页面时会一次性请求所有的js资源,这会大大影响页面的加载速度和用户体验.所以添加按需加载功能是必要的,以下是配置按需加载的方法: 安装bundle-loader np ...