网易互娱2017实习生招聘游戏研发工程师在线笔试第二场 C
偶尔碰到这题,简单数位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相关推荐
- 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(图像处理)
题意分析: (1)给出一个N*M矩阵用来表示灰度图像,矩阵中的每一个数的范围在[0,255]之间,定义7种对矩阵的操作:1.顺时针旋转90度,2.逆时针旋转90度,3.上下翻转180度,4.左右翻转1 ...
- 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(一起消消毒)
题意分析: (1)题目是模拟开心消消乐的游戏逻辑,当交换两个相邻的图片时,如果交换后的面板中有连续的三个以上的相同的图片(拍成行或列),那么这些排列成行或列的相同的图形将消失,上面的图形将下落填充中间 ...
- 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(神奇的数)
题意分析: (1)数论的题目,给出一个long long类型的范围[N,M],求出这个范围中满足三个条件的数的个数: ①这个数至少包含('2', '3', '5')中的任意一个数字; ② 这个数不能出 ...
- 网易互娱2017实习生招聘在线笔试(二)
题目2 : 源代码编译 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在网易游戏的日常工作中,C++ 是一门常用的语言.面对众多的 C++ 代码,等待源文件编译的漫长时 ...
- 网易互娱2017实习生招聘在线笔试第一场-2源代码编译
http://hihocoder.com/contest/ntest2016spring1/problem/2 拓扑排序 处理一下字符串 没什么好说的.. 时间限制:10000ms 单点时限:1000 ...
- 网易互娱2017实习生招聘在线笔试--源代码编译
描述 在网易游戏的日常工作中,C++ 是一门常用的语言.面对众多的 C++ 代码,等待源文件编译的漫长时间是个令人糟心的时刻,一直以来大家对此怨声载道.终于有一天,大家找到了你,一位优秀的程序员,请你 ...
- 网易互娱2017实习生招聘在线笔试(三)
题目3 : 画线 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小王最近在开发一种新的游戏引擎,但是最近遇到了性能瓶颈.于是他打算从最基本的画线功能开始分析优化.画线其 ...
- 网易互娱2017实习生招聘在线笔试第一场-3划线
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描写叙述 小王近期在开发一种新的游戏引擎,可是近期遇到了性能瓶颈.于是他打算从最主要的画线功能開始分析优化. 画线事实上就是调用 ...
- 网易互娱2017实习生招聘在线笔试第一场-题目3
题目3 : 画线 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小王最近在开发一种新的游戏引擎,但是最近遇到了性能瓶颈.于是他打算从最基本的画线功能开始分析优化.画线其 ...
最新文章
- ArcPy学习入门(三):ArcPy 函数列表
- 关于JQ的点击事件在微信手机端无响应的解决方案
- Linux常见的一些性能监控命令
- Linux下查看TOMCAT控制台
- ASP.NET MVC中使用Autofac实现简单依赖注入
- R语言学习笔记(五)假设检验及其R实现
- 一种云端语音识别系统及方法
- Kubernetes 是什么?为什么也称为 K8S?| 科普
- sas数据集怎么导出_SAS数据集转Stata
- 云时代数据容灾的正确姿势
- 谷歌浏览器清除指定网站cookie和缓存方法步骤
- P2627 [USACO11OPEN]Mowing the Lawn G
- 【面经——虎牙实习+一面+HR面+offer】
- 解决docker权限不足问题
- FFMPEG监控拉流,向流媒体服务器推流
- Arxiv | 预测新型蛋白质间相互作用的图神经网络模型
- html产生镜面效果,一种镜面反光屏幕的制作方法
- 期权交易,这两个要点一定要掌握!
- Rust crates镜像源管理 crm
- 8051单片机指令系统有哪几种寻址方式?