[题目链接]

https://www.lydsy.com/JudgeOnline/problem.php?id=1833

[算法]

数位DP

[代码]

#include <algorithm>
#include <bitset>
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <limits>
#include <list>
#include <map>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <utility>
#include <vector>
#include <cwchar>
#include <cwctype>
#include <stack>
#include <limits.h>
using namespace std; int i;
long long a,b;
long long f[][][]; inline void dp(long long m)
{
long long i,j,k,x;
memset(f,,sizeof(f));
f[][][] = ;
for (i = ; i <= ; i++)
{
for (j = ; j <= ; j++)
{
for (k = ; k <= i; k++)
{
if (j != m)
{
for (x = ; x <= ; x++)
f[i][j][k] += f[i - ][x][k];
} else if (k >= )
{
for (x = ; x <= ; x++)
f[i][j][k] += f[i - ][x][k - ];
}
}
}
}
}
inline long long calc(long long x,long long t)
{
long long i,j,k,len = ;
long long res = ;
long long cnt = ;
long long a[];
memset(a,,sizeof(a));
while (x != )
{
a[++len] = x % ;
x /= ;
}
reverse(a + ,a + len + );
for (i = ; i <= len; i++)
{
for (j = ; j <= ; j++)
{
for (k = ; k <= len - i + ; k++)
res += f[len - i + ][j][k] * k;
}
}
for (i = ; i <= len; i++)
{
for (j = ; j < a[i]; j++)
{
if (i == && !j) continue;
for (k = cnt; k <= len; k++)
{
res += f[len - i + ][j][k - cnt] * k;
}
}
if (a[i] == t) cnt++;
}
return res;
} int main()
{ while (scanf("%lld%lld",&a,&b) && (a || b))
{
if (a > b) swap(a,b);
for (i = ; i < ; i++)
{
dp(i);
printf("%lld ",calc(b + ,i) - calc(a,i));
}
dp();
printf("%lld\n",calc(b + ,) - calc(a,));
} return ; }

最新文章

  1. JUCE 界面库显示中文乱码问题
  2. 第四章 分治策略 4.2 矩阵乘法的Strassen算法
  3. iOS使用宏写单例
  4. 利用dom4j读取xml文件
  5. webservice未能加载文件或程序集“**.DLL”或它的某一个依赖项。
  6. spring定时器任务多任务串行执行问题排查
  7. ubuntu 12.04 下搭接Qt 嵌入式开发环境
  8. 认识axure部件库中各个部件的属性
  9. DOM遍历 - 过滤
  10. VLAN之间单臂路由通信
  11. 【spark】dataframe常见操作
  12. c++ 指针与const的三种组合
  13. mongodb url
  14. 关于PHP建立数据库访问类的封装以及操作php单例模式连接数据库封装类
  15. Confluence 6 中样式化字体
  16. 全文索引搜索whoosh
  17. java中的神奇&quot;this&quot;
  18. IO流(5)判断功能
  19. [LeetCode] 197. Rising Temperature_Easy tag: SQL
  20. 基于Verilog的奇数偶数小数分频器设计

热门文章

  1. 关于SSL证书配置、升级的一些问题总结
  2. ThinkPHP3.2.3对数据的添、删、改、查(CURD)
  3. 【SQL】CASE与DECODE
  4. IIS7部署网站的一些细节问题。
  5. 【转】linux命令
  6. 装X数学:高雅的数学表示
  7. esp32使iOS 获取蓝牙外设的Mac地址
  8. marquee图片无缝拼接滚动
  9. [POJ2404]Jogging Trails
  10. 关于 多个git用户或多个git管理工具切换时出现的问题总结