• 欢迎光临~

7-26 模拟赛 总结

开发技术 开发技术 2022-07-26 次浏览

# Process(比赛过程)

首先,花了5分钟阅读了T1,然后做T1,花了两分钟进行思考,然后写代码。写了20分钟得了暴力的80分,又用了5分钟去进行优化,但优化无效,暂时放弃,去看T2

T2的字符串哈希没阅读透彻,读了20分钟,然后进行代码实现,但出现了问题。

接下来看了看T3,索性写了个暴力的50分。

大概10:30左右回头调T1,有了新的样例,但还是没有任何进展。

最后去看了看T4,不会写具体程序,就开始检查前面的题。

# problems(题目)

T1:散步

我在考场上的思路:枚举走了几步,时间复杂度为O(1e18),过不了

题解:利用取模算法,节省不必要的计算

T2:字符串哈希

我在考场上的思路:将字母依次化为十进制数,最后进行取模

题解:每次加值时,进行取模,运用乘法时将乘法的第一个乘数化为 long long 类型

T3:数组

我在考场上的思路:进行组合,找出符合条件的两个数字,时间复杂度为O(4e10)过不了

题解:将数据a[i]去模k,使余数两两相加后为K的倍数;

T4:二叉树

我在考场上的思路:没看懂

题解:运用中序遍历、后序遍历的特性进行递归,递归至只剩一个数

# expect(反思)

要吸取的教训:

1.看到是什么什么的倍数时要立马想到用取模运算。

2.在数据较大时看一下,使用取模运算是否会大大减少时间复杂度。

3.遇到比较复杂的题时,要先写暴力,然后在暴力的基础上进行完善程序。

希望在下次考试中,将这些知识点牢记于心!!!

程序员灯塔
转载请注明原文链接:7-26 模拟赛 总结
喜欢 (0)