AcWing

Description

Sol

看了很久也没有完全理解直接$DP$的做法,然后发现了记搜的做法,觉得好棒!

这里是超棒的数位$DP$的记搜做法总结   看完仿佛就觉得自己入门了,但是就像文中写的,还是要多做题才能真正弄明白鸭,还要加油(ง •_•)ง

然后这里是同一个人的本题题解

Code

 #include<iostream>
#include<cstdio>
#include<cstring>
#define il inline
#define Rg register
#define go(i,a,b) for(i=a;i<=b;i++)
#define yes(i,a,b) for(i=a;i>=b;i++)
#define ll long long
#define mem(a,b) memset(a,-1,sizeof(a));
using namespace std;
il ll read()
{
ll x=,y=;char c=getchar();
while(c<''||c>''){if(c=='-')y=-;c=getchar();}
while(c>=''&&c<=''){x=(x<<)+(x<<)+c-'';c=getchar();}
return x*y;
}
int len,a[];
ll l,r,mod,f[][][];
il ll dfs(int pos,int sum,int ys,int limit)
{
if(pos>len)return (ys== && sum==mod);
if(!limit && f[pos][sum][ys]!=-)return f[pos][sum][ys];
ll as=;int maxs=limit?a[len-pos+]:,i;
go(i,,maxs)as+=dfs(pos+,sum+i,(1LL*ys*+i)%mod,i==maxs&&limit);
if(!limit)f[pos][sum][ys]=as;return as;
}
il ll sol(ll x)
{
len=;
while(x)a[++len]=x%,x/=;
ll as=;
go(mod,,*len){mem(f,);as+=dfs(,,,);}
return as;
}
int main()
{
l=read(),r=read();
printf("%lld\n",sol(r)-sol(l-));
return ;
}

随机推荐

  1. linux centos 一键安装环境

    phpStudy for Linux 支持Apache/Nginx/Tengine/Lighttpd, 支持php5.2/5.3/5.4/5.5切换 已经在centos-6.5,debian-7.4. ...

  2. Python基础:25文件

    一:文件对象 文件对象不仅可以用来访问普通的磁盘文件, 而且也可以访问任何其它类型抽象层面上的"文件". 一旦设置了合适的"钩子", 你就可以访问具有文件类型接 ...

  3. [***]HZOJ 奇袭

    C. 奇袭 题目描述 由于各种原因,桐人现在被困在Under World(以下简称UW)中,而UW马上 要迎来最终的压力测试——魔界入侵. 唯一一个神一般存在的Administrator被消灭了,靠原 ...

  4. laravel5.4 前后台未登陆,跳转到各自的页面

    https://www.imooc.com/wenda/detail/378208?t=266634 laravel我做了前后台登陆,后台未登录跳转到前台登陆页面了. 我想让后台未登入跳转到后台登陆页 ...

  5. saltStack_Pillar

    Pillar是Salt非常重要的一个组件,它用于给特定的minion定义任何你需要的数据,这些数据可以被Salt的其他组件使用.这里可以看出Pillar的一个特点,Pillar数据是与特定minion ...

  6. Android Studio(十一):代码混淆及打包apk

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  7. 手把手教你用Python实现自动特征工程

    任何参与过机器学习比赛的人,都能深深体会特征工程在构建机器学习模型中的重要性,它决定了你在比赛排行榜中的位置. 特征工程具有强大的潜力,但是手动操作是个缓慢且艰巨的过程.Prateek Joshi,是 ...

  8. IntStack(存放int型值,带迭代器) 附模板化实现 p406

    1 该栈只用于存在int型数据 #include "../require.h" #include <iostream> using namespace std; cla ...

  9. 给websocket加入心跳包防止自动断开连接

    var userId=$("#userId").val(); var lockReconnect = false; //避免ws重复连接 var ws = null; // 判断当 ...

  10. CodeForces 1216C(假的计算几何+扫描线)

    传送门 •题意 给你三个矩形,依次编号为 1,2,3: 判断 矩形1 是否被 矩形2 和 矩形3 完全覆盖: 如果没有完全覆盖,输出 "YES",反之,输出 "NO&qu ...