偶尔碰到这题,简单数位DP题,然而我已生疏了……

这次算是重新想到的,看来对DP的理解有增进了……

dp[i][j][k],表示前i为,mod为j,是否出现2、3、5的剩下的数位可组成的数字。答案就是dp[len][0][0]

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>using namespace std;#define LL long long LL dp[20][7][2];
int num[20];LL dfs(int len, int mod, bool one, int show, bool flag){if(len == 0){if(show == 1 && mod == 0){dp[len][mod][show] = 1;}else dp[len][mod][show] = 0;return dp[len][mod][show];}if(!flag && dp[len][mod][show] != -1) return dp[len][mod][show];int up = flag ? num[len]:9;LL ans = 0, tmp = show;for(int i = 0; i <= up ; i++){if(one && i == 8) continue;if(i == 2 || i == 3 || i == 5) tmp = (show | 1);// cout <<" tmp = " << tmp << endl;ans += dfs(len - 1, (mod * 10 + i)%7, i == 1?true:false, tmp, (flag && i == up) ? true: false);tmp = show;//   printf("%I64d====%d\n", ans, i);}dp[len][mod][show] = ans;return ans;}long long slove(LL n){int len = 0;LL tmp = n;while(tmp){num[++len] = tmp % 10;tmp /= 10;}//  printf("%I64d\n", n);dfs(len, 0, false, 0, true);return dp[len][0][0];}int main(){long long l, r;int T;scanf("%d", &T);while(T--){memset(dp, -1, sizeof(dp));scanf("%I64d%I64d", &l, &r);printf("%I64d\n", slove(r) - slove(l - 1));}return 0;
}

  

转载于:https://www.cnblogs.com/jie-dcai/p/5785469.html

网易互娱2017实习生招聘游戏研发工程师在线笔试第二场 C相关推荐

  1. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(图像处理)

    题意分析: (1)给出一个N*M矩阵用来表示灰度图像,矩阵中的每一个数的范围在[0,255]之间,定义7种对矩阵的操作:1.顺时针旋转90度,2.逆时针旋转90度,3.上下翻转180度,4.左右翻转1 ...

  2. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(一起消消毒)

    题意分析: (1)题目是模拟开心消消乐的游戏逻辑,当交换两个相邻的图片时,如果交换后的面板中有连续的三个以上的相同的图片(拍成行或列),那么这些排列成行或列的相同的图形将消失,上面的图形将下落填充中间 ...

  3. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(神奇的数)

    题意分析: (1)数论的题目,给出一个long long类型的范围[N,M],求出这个范围中满足三个条件的数的个数: ①这个数至少包含('2', '3', '5')中的任意一个数字; ② 这个数不能出 ...

  4. 网易互娱2017实习生招聘在线笔试(二)

    题目2 : 源代码编译 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在网易游戏的日常工作中,C++ 是一门常用的语言.面对众多的 C++ 代码,等待源文件编译的漫长时 ...

  5. 网易互娱2017实习生招聘在线笔试第一场-2源代码编译

    http://hihocoder.com/contest/ntest2016spring1/problem/2 拓扑排序 处理一下字符串 没什么好说的.. 时间限制:10000ms 单点时限:1000 ...

  6. 网易互娱2017实习生招聘在线笔试--源代码编译

    描述 在网易游戏的日常工作中,C++ 是一门常用的语言.面对众多的 C++ 代码,等待源文件编译的漫长时间是个令人糟心的时刻,一直以来大家对此怨声载道.终于有一天,大家找到了你,一位优秀的程序员,请你 ...

  7. 网易互娱2017实习生招聘在线笔试(三)

    题目3 : 画线 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小王最近在开发一种新的游戏引擎,但是最近遇到了性能瓶颈.于是他打算从最基本的画线功能开始分析优化.画线其 ...

  8. 网易互娱2017实习生招聘在线笔试第一场-3划线

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描写叙述 小王近期在开发一种新的游戏引擎,可是近期遇到了性能瓶颈.于是他打算从最主要的画线功能開始分析优化. 画线事实上就是调用 ...

  9. 网易互娱2017实习生招聘在线笔试第一场-题目3

    题目3 : 画线 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小王最近在开发一种新的游戏引擎,但是最近遇到了性能瓶颈.于是他打算从最基本的画线功能开始分析优化.画线其 ...

最新文章

  1. ArcPy学习入门(三):ArcPy 函数列表
  2. 关于JQ的点击事件在微信手机端无响应的解决方案
  3. Linux常见的一些性能监控命令
  4. Linux下查看TOMCAT控制台
  5. ASP.NET MVC中使用Autofac实现简单依赖注入
  6. R语言学习笔记(五)假设检验及其R实现
  7. 一种云端语音识别系统及方法
  8. Kubernetes 是什么?为什么也称为 K8S?| 科普
  9. sas数据集怎么导出_SAS数据集转Stata
  10. 云时代数据容灾的正确姿势
  11. 谷歌浏览器清除指定网站cookie和缓存方法步骤
  12. P2627 [USACO11OPEN]Mowing the Lawn G
  13. 【面经——虎牙实习+一面+HR面+offer】
  14. 解决docker权限不足问题
  15. FFMPEG监控拉流,向流媒体服务器推流
  16. Arxiv | 预测新型蛋白质间相互作用的图神经网络模型
  17. html产生镜面效果,一种镜面反光屏幕的制作方法
  18. 期权交易,这两个要点一定要掌握!
  19. Rust crates镜像源管理 crm
  20. 8051单片机指令系统有哪几种寻址方式?

热门文章

  1. 9.以太网数据帧格式(结构)图解
  2. word2010赠送_使用免费赠送的免费软件避免垃圾软件
  3. python2 gb2312编码文件批量转成utf-8
  4. C#编程中最常见的10个错误
  5. 笔试:天猫魔盒下单问题
  6. 汉字国标码、区位码和机内码三者的定义及联系
  7. i2c Linux 动态 波特率,i2c通信通过串口发送数据
  8. 数学建模系列-评价模型(四)---主成分分析法
  9. 自己做量化交易软件(29)小白量化实战3--跨周期共振
  10. Polycom Soundstation连接IP电话系统