博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数位DP BZOJ 1026 [SCOI2009]windy数
阅读量:6487 次
发布时间:2019-06-24

本文共 1052 字,大约阅读时间需要 3 分钟。

 

前面全是0的情况特判

#include 
int dp[10][10];int digit[10];int DFS(int pos, int val, int zero, bool limit) { if (pos == -1) { return 1; } int &now = dp[pos][val]; if (!limit && zero && now != -1) { return now; } int d = limit ? digit[pos] : 9; int ret = 0; if (zero == 0) { for (int i=0; i<=d; ++i) { ret += DFS (pos - 1, i, i, limit && i == d); } } else { for (int i=0; i<=d; ++i) { if ((i-val) * (i - val) < 4) { continue; } ret += DFS (pos - 1, i, 1, limit && i == d); } } if (!limit && zero) { now = ret; } return ret;}int solve(int x) { int n = 0; while (x) { digit[n++] = x % 10; x /= 10; } int ret = 0; return DFS (n - 1, 0, 0, true);}int main() { memset (dp, -1, sizeof (dp)); int a, b; while (scanf ("%d%d", &a, &b) == 2) { printf ("%d\n", solve (b) - solve (a - 1)); } return 0;}

  

转载于:https://www.cnblogs.com/Running-Time/p/5503302.html

你可能感兴趣的文章
前端大牛们都学过哪些?
查看>>
在iOS当中发送电子邮件和短信
查看>>
13~1003的和
查看>>
pycharm如何新项目如何不默认创建虚拟环境(吐槽)
查看>>
MySQL字段类型详解
查看>>
ORACLE 的游标
查看>>
虚拟机安装的UBUNTU全屏的方法:
查看>>
java虚拟机类加载器
查看>>
ASP.NET状态管理之八(会话Session)
查看>>
转载:大型网站架构演变和知识体系
查看>>
set集合
查看>>
SVN服务器的搭建和使用
查看>>
mvc中枚举的使用和绑定枚举值到DropDownListFor
查看>>
多目标跟踪的评价指标
查看>>
HTTPS(SSL)详解以及PHP调用方法
查看>>
突发小事件,USB接口问题
查看>>
Nginx负载均衡配置实例详解
查看>>
L1-009. N个数求和
查看>>
sqlserver 批量删除存储过程(转)
查看>>
自建型呼叫中心
查看>>