数位DP

#include<cstdio>
#include<cstring>
using namespace std;
int A[16];
long long F[16][13][10][2];
long long dfs(int t,int Y,int Last,int lim13,int lim){
if (!lim && F[t][Y][Last][lim13]!=-1) return F[t][Y][Last][lim13];
if (t==0){
if (!Y && lim13) return 1;
return 0;
}
int Lim=9;
if (lim) Lim=A[t];
long long ANS=0;
for (int up=0; up<=Lim; up++) ANS+=dfs(t-1,(Y*10+up)%13,up,lim13|(Last==1 && up==3),lim&(up==Lim));
if (!lim) F[t][Y][Last][lim13]=ANS;
return ANS;
}
long long solve(long long x){
int Len=0;
while (x){
A[++Len]=x%10;
x/=10;
}
return dfs(Len,0,0,0,1);
}
int main(){
long long n;
scanf("%lld",&n);
memset(F,-1,sizeof(F));
printf("%lld\n",solve(n));
return 0;
}

  

BZOJ 5064: B-number的更多相关文章

  1. BZOJ 3000: Big Number (数学)

    题目: https://www.lydsy.com/JudgeOnline/problem.php?id=3000 题解: 首先n很大,O(n)跑不过,那么就要用一些高端 而且没听过 的东西——sti ...

  2. bzoj 1267 Kth Number I (点分治,堆)

    超级钢琴的树上版本, 类似做法即可, 只不过区间转为dfs序了, 用点分求一下, 复杂度$O(nlog^2n)$ #include <iostream> #include <algo ...

  3. bzoj 3000 Big Number 估算n!在k进制下的位数 斯特林公式

    题目大意 求n!在k进制下的位数 2≤N≤2^31, 2≤K≤200 分析 作为数学没学好的傻嗨,我们先回顾一下log函数 \(\log_a(b)=\frac 1 {log_b(a)}\) \(\lo ...

  4. BZOJ 3275: Number

    3275: Number Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 874  Solved: 371[Submit][Status][Discus ...

  5. 【BZOJ】【1662】/【POJ】【3252】 【USACO 2006 Nov】Round Number

    数位DP 同上一题Windy数 预处理求个组合数 然后同样的方法,这次是记录一下0和1的个数然后搞搞 Orz cxlove /************************************* ...

  6. bzoj 3858: Number Transformation 暴力

    3858: Number Transformation Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 82  Solved: 41[Submit][Sta ...

  7. BZOJ 3275: Number( 最小割 )

    S->每个奇数,每个偶数->T各连一条边, 容量为这个数字.然后不能同时选的两个数连容量为+oo的边. 总数-最大流即是答案. 因为满足a2+b2=c2的a,b一定是一奇一偶或者两个偶数, ...

  8. bzoj 4026 dC Loves Number Theory 主席树+欧拉函数

    题目描述 dC 在秒了BZOJ 上所有的数论题后,感觉萌萌哒,想出了这么一道水题,来拯救日益枯竭的水题资源.给定一个长度为 n的正整数序列A,有q次询问,每次询问一段区间内所有元素乘积的φ(φ(n)代 ...

  9. bzoj 3275 Number(最小割)

    [题意] 给定n个数,要求选出一些数满足 1.存在c,a*a+b*b=c*c 2.gcd(a,b)=1  使得和最大. [思路] 二分图的最大权独立集(可以这么叫么QAQ 先拆点,对于不满足条件的两个 ...

随机推荐

  1. String、String Buffer、String Builder

    对于String.String Buffer.String Builder:我一直都只知道String是字符串常量,后两者是字符串变量: String和String Buffer是线程安全的,Stri ...

  2. CentOS查找文件命令

    [root@VM_147_255_centos ~]# find / -name aa.jpg 在根目录输入 如上命令,在全部目录中查找名字为aa.jpg的文件( *.jpg查找以.jpg结尾的所有文 ...

  3. bt5r3开启远程登录

    sshd-generate /etc/init.d/ssh restart

  4. 使用Python+selenium过程中所需安装的库和软件

    一.下载地址: 1.setuptools:https://pypi.python.org/pypi/setuptools#downloads 中file对应的后缀为zip的软件 pip:https:/ ...

  5. 解决nginx bind() to 0.0.0.0:80 failed 问题

    nginx的配置文件一开始默认是80端口,出现这个错误多半是80端口已经被占用.这时候只需要把 server { listen 8088; server_name localhost lcsf.com ...

  6. noip模拟赛#14

    #14: T1:f[x]=x-1(x&1)||x/2(x&1=0) 求[n,m]有多少个数可以通过变换得到k.(1e9). =>好像cf上看过类似的题,用二进制的方式来写.不过我 ...

  7. TextView中使用Linkify添加超链接

       首先,在TextView所属xml配置文件中,直接添加android:autoLink特性即可,它支持一个或多个(用分割线)自定义的值:none.web.email.phone或all. 另外, ...

  8. hadoop相关资料集锦

    1 Hadoop集群系列集锦http://www.cnblogs.com/xia520pi/archive/2012/04/08/2437875.html 2 Hadoop和MapReduce详解ht ...

  9. 2017乌鲁木齐网络赛 j 题

    题目连接 : https://nanti.jisuanke.com/t/A1256 Life is a journey, and the road we travel has twists and t ...

  10. tmpfs与内存盘

    如何快速的吃掉一段内存:通过tmpfs来划一片领地,再用dd去粗暴占用mount -t tmpfs -o size=512M tmpfs /mnt/demodd if=/dev/zero of=/mn ...