LCCUP 23 KUAISHOU

LCCUP 23 快手

https://leetcode.cn/problems/ryfUiz/solution/xian-duan-shu-zhao-dao-liao-3ge-bugzhong-4ihn/

一个多月前就和 “字节来快手” 的同事组好了队~

3h 6题 t6 到现在都还没看

我先 t1 wa 了一发然后过了排四百多名

然后队友 t2 直接过了

t3 dfs 超时,后来对每个坐标到其他字母的位置用了距离排序还是超时,才过了5个

t4 开始没注意到相同深度下要看度数/分支宽度来优先选择,导致只过了case1 没过case2,后来看了下只过了27/86个。

2h 19分时队友最后不抱希望地提交了一发,居然过了,先是对子树字符串排序然后拼接,我想到这里就没去写了,因为之前已经写了很长了,而且觉得这种是n平方的肯定过不了,后来发现这种只能过4个。

核心是排序时如果一个长字符串包含了一个短字符串,则优先走长字符串,因为长字符串后面肯定是0,而短字符串要上来肯定是1,0小于1。

讨论完t4思路后我开始继续写 t5,之前以为需要满足结合律才能用线段树,后来发现不需要满足。
用k个线段树单独处理每一位,到5点四十几写完了,但case1都过不了。六点结束后去吃饭了。

吃完饭回来debug,找到了3个bug,一个是线段树里合并两个子节点的方法错了,没那么复杂;一个是 & 操作符优先级小于 == 操作符没加括号;一个是 if(a&&b){} else{} 应该改成 if(a){if(b){}} else。。。

代码很乱,全扔题解里了,debug 大致过程也写上了。
全部评论

相关推荐

尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务