8.27字节跳动笔试AK
之前发的帖子编辑了一下,莫名其妙看不到了
重发一下吧。
题有点难度,不过手速快的话四十分钟左右就能搞定。
这次小翻车,写了个bug找了半个多小时。
编程1:
属于签到题了,实在不会的话if else也能做出来。
编程2:
简单的dp,每个颜色单独考虑,是当前颜色为1,不是当前颜色为0。
问题就能转化为求矩阵内元素和是否大于0。
贴下代码
编程3:
纯数学推理了,顶多用个快速幂。
单独考虑每个位置,可选值为0-9,所以贡献度为45。
x个位置贡献度为 45*x*10^(x-1);
贴下代码。
编程4:
典型的数位dp,太久没写了,手生了。
可以把问题转化下。
转化1:
(l,r)的答案为solve(r)-solve(l-1);
转化2:
写一个函数,假设为deal(p, x)。
用来计算仅使用[0,1,2,...,p]构成的数字小于x的个数。
那么依照题意f()=i;的小于x的数量即为 deal(i,x)-deal(i-1,x)。
贴下deal函数的实现吧。
重发一下吧。
题有点难度,不过手速快的话四十分钟左右就能搞定。
这次小翻车,写了个bug找了半个多小时。
编程1:
属于签到题了,实在不会的话if else也能做出来。
编程2:
简单的dp,每个颜色单独考虑,是当前颜色为1,不是当前颜色为0。
问题就能转化为求矩阵内元素和是否大于0。
贴下代码
编程3:
纯数学推理了,顶多用个快速幂。
单独考虑每个位置,可选值为0-9,所以贡献度为45。
x个位置贡献度为 45*x*10^(x-1);
贴下代码。
编程4:
典型的数位dp,太久没写了,手生了。
可以把问题转化下。
转化1:
(l,r)的答案为solve(r)-solve(l-1);
转化2:
写一个函数,假设为deal(p, x)。
用来计算仅使用[0,1,2,...,p]构成的数字小于x的个数。
那么依照题意f()=i;的小于x的数量即为 deal(i,x)-deal(i-1,x)。
贴下deal函数的实现吧。
全部评论
举办了哥
妙啊
太强了
相关推荐

点赞 评论 收藏
分享
05-14 22:37
中国科学技术大学 Java 点赞 评论 收藏
分享