A - Multiplication Dilemma
- 乘法拆开。简单模拟题
B - Updating the Tree
- 据说是dfs加线段树优化,待补。
C - Shortest Path!
- 小学数学题,求一点经过直线到另一点的最短距离。
D - Wooden Fence
签到题
E - Stupid Submissions
- 是否错了已经知道的样例
签到题
F - I’m Bored!
- 要你构造回文求出最长回文和最大数目
忘记了奇数回文的情况。。。
G - Minimax
- 队友写二维RMQ被安排的妥妥的。正解是一道dp,待补。
H - Beautiful Substrings
- 有点想头的模拟题维护字符串前缀和,我写的相当麻烦,就是计算出每一位上每个字符出现了多少次。具体过程就是遇到字符串上的字符ß,循环abcdefg…,按照前面算出的前缀和,求和ßa、ßb、ßc的次数。。。最终算出所有字符开头和结尾的数目和,然后再判重相加。时间过程中由于写的是 i+k-1>n;break;而不是i+k-1>=n;break;,找了一晚上bug,如果犯了同样错误暴毙的话,可以自行体会。
- 但是ac不是终点。我们要考虑简化问题,这样的前缀和计算过程中出现了大量不必要计算。参考了别人的一些代码,发现他们维护前缀和只用了一个数组,记录当前每个字符还剩多少个。这样的话每次遇到一个字符,就减去这个字符的出现次数。
I - Secret Project Gym - 101972I
组合数题,待补
J - Even Numbers Gym - 101972J
队友打表打出来了
K - Cyclic Shift Gym - 101972K
队友看错题目**,题意就是通过循环移位判断字符串能否相等。但是题目要求只能移动一次,要是能无限移动就是把第一个字符串扩展一倍然后用第二个字符串匹配即可。