想问一下有大佬做了腾讯的后端笔试题吗。。心态炸了。。

大佬们说说怎么做啊。。





#笔试题目##腾讯#
全部评论
第一题输出[(m+n-1)/n]就行。 第二题分析可得前i项和为,最后答案就是。 第三题时为0,时为,打表加快速幂就行,记得用long long。 第四题暴力。气球总颜色数小于m的时候为0;否则,从右向左找到一个两端不为0的序列,然后不断往左靠,记录序列长度最小值就行。
点赞 回复 分享
发布于 2019-03-09 21:35
腾讯2020届实习生招聘笔试-数学类
点赞 回复 分享
发布于 2019-03-09 21:29
还能截图??
点赞 回复 分享
发布于 2019-03-09 21:19
第一题个人感觉没那么复杂啊,if(m<=n) return 1; else if(m%n==0) return m/n: else return m/n+1
点赞 回复 分享
发布于 2019-03-10 05:09
第一个小时切完4题,然后第5题冥想一小时无果,最后一分钟交了个不过样例的居然骗到5分???
1 回复 分享
发布于 2019-03-09 21:39
第一题暴力的话O(n)遍历一遍 第二题找数学解 第三题C_n^s*2^{n-s},但只过了一半。楼上有大佬说要考虑s>n,不知道是不是 第四题sliding window
点赞 回复 分享
发布于 2019-03-09 22:21
第三题不知道哪里有坑没全过。。。后面两个洒洒水,逗比了还以为除了编程还有其他题型早早就提交了😪
点赞 回复 分享
发布于 2019-03-09 21:20
后面三道题主要对大数操作太麻烦了,在int范围内就好解很多
点赞 回复 分享
发布于 2019-03-09 21:22
一首凉凉送给自己
点赞 回复 分享
发布于 2019-03-09 21:30
只做了124,快速幂我都写错了真的是想哭
点赞 回复 分享
发布于 2019-03-09 21:34
第一题第二题***题……第三题一眼组合数,打了个组合数板子80分,估计是中途溢出了,于是直接丢个lucas板子上去ac;第四题双指针,一开始写错一点,改了改就a了
点赞 回复 分享
发布于 2019-03-09 21:41
第一题通过率20%,求指点:         public static int result = 0;     public static int getCount(int n,int m){         if(n == 1){             result =  result+m;         }         else if(m%n == 0){             result =  result + m/n;         }         else{             result = result + m/n;             getCount(n-1,m%n);         }         return result;     }
点赞 回复 分享
发布于 2019-03-09 22:03
🐎
点赞 回复 分享
发布于 2019-03-09 22:06
扎心了,只AC了两题,还有两题不到case 100%
点赞 回复 分享
发布于 2019-03-09 22:15
第五题有个n^2*L复杂度的dp方法  有没有大佬有更好的方法啊
点赞 回复 分享
发布于 2019-03-09 22:36
第五题真的好难。。看答案我都没看懂
点赞 回复 分享
发布于 2019-03-09 22:43
前两道签到题不说了,第三道比较好就快速幂,但是数据规模才2000,就算用杨辉三角求组合也可以,另一种方法是dp,第四题,辅助数组+队列+双指针
点赞 回复 分享
发布于 2019-03-10 11:44
第五题目测防ak题……没过也不用灰心(队内鉴定EC的银牌dp题没这个难)
点赞 回复 分享
发布于 2019-03-10 12:09
腾讯提前批也得笔试吗😭
点赞 回复 分享
发布于 2019-03-10 16:25
#include <stdio.h> #include <algorithm> typedef long long ll; const int mod = 1e9+9; const int maxn = 1300; int c[maxn]; ll dp[maxn][maxn];///变化i次颜色为j int main() { int n,L; scanf("%d%d",&n,&L); dp[0][0]=1; for(int i=n;i>=1;i--){ for(int j=L;j>=0;j--){ dp[j][c[i]]=dp[j][c[i]]*(n-i+1)%mod; for(int k=0;k<=n;k++){ if(c[i]!=k){ dp[j+1][c[i]]+=dp[j][k]; dp[j][k]=dp[j][k]*(n-i)%mod; } } dp[j+1][c[i]]%=mod; } } ll sum=0; for(int i=0;i<=n;i++) sum+=dp[L][i]; printf("%d\n",(int)(sum%mod)); return 0; } 第五题我是这样做的,思路是dp,倒着从后往前做,dp[j][k]代表颜色已经变换了J次且最后颜色为k,时间复杂度为O(n^2*L),看代码感觉应该还能优化,不过题目数据好像比较水,这样就过了
点赞 回复 分享
发布于 2019-03-11 15:59

相关推荐

点赞 85 评论
分享
牛客网
牛客企业服务