8.14 字符串模拟赛总结

又挂分了QAQ

考试概况:
先看了 \(T1\) ,刚开始的想法是哈希后暴力判断,写了一半意识到时间复杂度会炸,删掉代码重新想。由于要求最长公共前缀,想到建 \(Trie\) 树并 dfs 出最深的有两个及以上儿子的节点,更新答案。dfs 极其不熟练,调了好半天。大约一个半小时才把 \(T1\) 的各种手造数据都过掉(
发现 \(T2\) 貌似比 \(T1\) 简单,(说好的按难度顺序排序呢qaq)直接 \(KMP\) 一下求出 \(nxt\) 数组,然后暴力跳并 \(KMP\) 查找中间是否存在该子串即可。但是问题是 \(KMP\) 板子打错了自己还看不出来,还需要练习。
目测 \(T4\) 比较可做跑去写 \(T4\) ,结果在如何比较字典序上面卡住了。最后写了暴力比较字典序但愿有分(
接下来再去看 \(T3\) ,只剩下 \(10min\) 了,也就没写。

期望分数: \(100+100+0+20=220pts\)

实际分数: \(10+100+0+10=120pts\)

赛后总结:
挂得太惨了/fad
看了数据和 std ,发现自己 \(T1\) 大体思路没毛病,但 dfs 写得有问题,比如说如果有两个串完全相等的话这样 dfs 是找不到答案的。正确做法应该是计算哪些节点被遍历过两次以上。
\(T4\) 其实只要二分加 \(hash\) 一下就好我怎么就没想到呢/kk
代码能力还是不行,就算想出来了也得写老半天,其次是时间安排问题,应该把时间集中一下,不要总想着把每道题都写完。
字符串练太少了,以后加强训练。

明天一定要 rp++ 啊qaq

posted @ 2021-08-14 22:26  樱雪喵  阅读(55)  评论(0编辑  收藏  举报