sb数位dp.

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
long long a,b,dp[][],tab[],ans[],bit[],ret=;
void get_table()
{
tab[]=;
for (long long i=;i<=;i++) tab[i]=tab[i-]*;
for (long long i=;i<=;i++) dp[][i]=;
for (long long i=;i<=;i++)
for (long long j=;j<=;j++)
dp[i][j]=dp[i-][j]*+tab[i-];
}
void get_bit(long long x)
{
ret=;
while (x) {bit[++ret]=x%;x/=;}
}
void work(long long x,long long val)
{
if (!x) return;
get_bit(x);
for (long long i=;i<=ret-;i++)
for (long long j=;j<=;j++)
{
ans[j]+=tab[i-]*val;
for (long long k=;k<=;k++) ans[k]+=dp[i-][k]*val;
}
for (long long i=ret;i>=;i--)
{
for (long long j=(i==ret);j<bit[i];j++)
{
ans[j]+=tab[i-]*val;
for (long long k=;k<=;k++) ans[k]+=dp[i-][k]*val;
}
ans[bit[i]]+=(x-bit[i]*tab[i-]+)*val;x%=tab[i-];
}
}
int main()
{
scanf("%lld%lld",&a,&b);get_table();
work(b,);work(a-,-);
for (long long i=;i<=;i++) printf("%lld ",ans[i]);printf("%lld\n",ans[]);
return ;
}

最新文章

  1. Elasticsearch mysql 增量同步 三表联合 脚本
  2. test-output目录中找不到testng-fail.xml原因+Reportng+ant build.xml文件
  3. jquery实现隐藏,简化和更多
  4. Installing Ruby 1.9.3 on Ubuntu 12.04 Precise Pengolin (without RVM)
  5. Ubuntu12.10编译openwrt遇到的错误
  6. Python守护进程(多线程开发)
  7. VC一些经验系列: 《分享泄漏检测工具:内存、DC、GDI、Handle... 》
  8. 【02】尽量以const,enum,inline替换#define
  9. GRUB损坏后,如何修复windows启动mbr
  10. video+ audio
  11. ISLR系列:(4.3)模型选择 PCR &amp; PLS
  12. isPrototypeOf、instanceof、hasOwnProperty函数介绍
  13. react react-transition-group实现动画
  14. Hdu-2008
  15. 快速排序——Quick Sort
  16. 原型模式Prototype,constructor,__proto__详解
  17. Java是如何读到hbase-site.xml 的内容的
  18. 阿里云centos 6安装iRedmail过程
  19. vmware 安装ubuntu
  20. Jmeter实现webservice的接口测试

热门文章

  1. POJ 1113:Wall
  2. 2015弱校联盟(1) - B. Carries
  3. Hibernate的关联映射——单向1-1关联
  4. WPF上Arc Lisence的有关问题
  5. EXCEL计算数字、汉字、英文单元格的计数
  6. Oracle介绍(初学者必须知道的)
  7. 程序源系统与当前系统不一致:Carry out repairs in non-original systems only if urgent
  8. jquery总结05-常用事件01-鼠标事件
  9. java高薪之路__001_类
  10. aws ftp