携程笔试5.6
做完签到题就坐牢了,第二题一直只有30过,也不知道啥地方错了,
第三题我用了一个前缀积,输出区间的积%6,测试用例能过,直接通过0
求大佬解析,看不到用例真想不出来哪里错了,感觉思路好像也不难,摁是通不过用例,也没有显示超时😭😭😭😭😭
第三题我用了一个前缀积,输出区间的积%6,测试用例能过,直接通过0
求大佬解析,看不到用例真想不出来哪里错了,感觉思路好像也不难,摁是通不过用例,也没有显示超时😭😭😭😭😭
全部评论
https://www.cnblogs.com/wbw1537/p/15605364.html
前缀积会超出long的范围。还不如暴力能通过20%。前缀积java的话可以用bigInteger,但是会超内存,只通过20%。区间dp也会超内存20%
因为是%6,比较小,可以考虑每个a[i],2、3、5的个数,前缀和维护一下。但是最终还是错了
我用BigInteger保存的前缀积,20,区间DP,20,上头第四题没做了,![](https://uploadfiles.nowcoder.com/images/20220815/318889480_1660553763930/8B36D115CE5468E380708713273FEF43)
![](https://uploadfiles.nowcoder.com/images/20220815/318889480_1660553763930/8B36D115CE5468E380708713273FEF43)
第一题秒,第二题换成python秒了,第三题线段树秒了。一个多小时没调出来第四题
结束十分钟以后调出来了![](https://uploadfiles.nowcoder.com/images/20220815/318889480_1660553875209/BB341316D10390A7CC461F33E27B652F)
同前缀🐔越做越麻烦![](https://uploadfiles.nowcoder.com/images/20220815/318889480_1660553763890/5072FC474BC4CF9234FABC22E54A999A)
提交0应该你没考虑到l>r的情况😂我判断了一下然后暴力能过百分之一二十,而且除法不能直接取模,得用乘法逆元
第三题我用biginteger过了20%,然后爆内存了😂想不出来好的方法
错误的原因是 比如 比如l=20 r=100 正常做除法应该是5 但是取模之后得到的就不是除法正确的结果。这题模数不是质数,所以不能用乘法逆元,所以应该用别的方法做。
c++第二题直接用string就好啦
相关推荐
![](https://static.nowcoder.com/fe/file/oss/icon_job.png)
点赞 评论 收藏
分享
![](https://images.nowcoder.com/head/header0004.png?x-oss-process=image/resize,m_mfit,h_100,w_100)
点赞 评论 收藏
分享