2020.3.15的考试总结
2020.3.15 考试总结
\(T1\) \(bug\)
首先,对于\(n<=5\)的数据,简单暴力一下,枚举每个小于\(10^n\)的数,判断是否回文。
接下来,我开始想\(∑n<=10^7\)的数据。
假设可以有前导零,那\(s[n]\)可以由\(s[n-2]\)前后添上一个数得到,有\(0~9\)十种选择。
得到公式:\(s[n]=s[n-2]*10\),其中\(s[1]\)可为\(0~9\)中任意数,即\(s[1]=10\)。
但考虑到,前导不可为零,只可为\(1~9\),故\(s[n]\)还要乘\(\frac{9}{10}\),可以把\(s[1]\)设为\(9\),递推求等比为\(10\)的等差数列。
考场上想到后,直接开打递推,忘记了有一个\(i*\)!!!!!一念之差丢了\(40pts\)。以后看题一定要更仔细。
\(T2\) \(shopping\)
30分的做法就是爆搜全排列,分别计算happy值。但我犯了两个错误。
1、在计算答案时,忘记把最后一段的贡献加上。这是一个小问题,但考场上调了半个小时才调出来,原因是以为这个地方不会有问题。看来以后要更细心。
2、在调试后,忘记删了一个调试语句,在样例中调试语句没有输出,但其他数据会输出!又白白送掉\(30pts\)。
本来还想着试着写写\(60pts\)的做法,但感觉是个奇怪的\(DP\),最后发现相对了方向,但写的话很有可能写不出来。
\(T3\) \(mo\)
看到题,感觉有点奇怪:一是公式不理解要算什么,只会瞎套,二是数据范围中的\(n\)是什么东西?猜了一下是\(s1\)的串长。
狂套一波公式,发现可以过\(30pts\)!但是一直不知道\(10pts\)那一档部分分是怎么得的,但是也没去想了,后来才发现,\(n\)和\(m\)理解似乎反了,题目中没讲很清楚。
看了题解,发现看不懂。也许对我来说,字符串算法的却有点薄弱。
总结:本场考试失误丢分\(70pts\),发现自己的读题错误和忘删调试语句的错误,以及字符串算法这一薄弱项。

浙公网安备 33010602011771号