7:50−8:207:50 - 8:207:50−8:20
读题
8:20−9:108:20 - 9:108:20−9:10
DFS
搜索 T2T2T2 中不回文的字串看能否凑出一整个字符串,但是好像记得有个啥算法能快速求出来所有回文串?好像马拉车可以求出来以每个点为中心的最长回文串?这样的话我就避开以该点为中心或找长度大于以该点为中心的回文串长度的回文串。然后又发现其实是对后面有影响的,每次不合法还要往前回溯,感觉浪费的时间也不少。
9:10−10:109:10 - 10:109:10−10:10
T3T3T3 来来回回算时间复杂度和空间复杂度,打了个像 01背包 一样的 递推,而且主动忽略 k
的影响应该在 353535 左右
写完后想到了个小优化,可以 sort
后离线做,忽略多测的影响,最多是测 150150150 组。算是省了一大笔时间复杂度了。
但是还是可能被 505050 的那一档分卡住。手构数据发现离线后没有把结果按照原来的顺序排序,还好及时改正了。
其实除了多拿的 151515 分外,有一档特殊数据是 202020 分,但是奔着 151515 这个如果没成顶多是 TLETLETLE,202020 那个还可能 MLEMLEMLE
10:10−10:3010:10-10:3010:10−10:30
写个 sort
排序和题干中错误的 冒泡排序 对拍,企图找到题中排序错误的规律。
10:30−10:4010:30 - 10:4010:30−10:40
又对着代码看了十分钟没太明白,我忘了正确 冒泡排序 应该是怎样的了
10:40−11:2510:40 - 11:2510:40−11:25
写 T1T1T1 的 DFS
。
11:25−11:3011:25 - 11:3011:25−11:30
给 T4T4T4 写了个随机数,第三次就过了样例 111
11:30−11:5011:30 - 11:5011:30−11:50
算上刚刚打表对拍找规律,感觉如果是 1,5,21,5,21,5,2 这种类似摆动数列的好像都会挂,结合代码证明不出来什么,于是就按照题上的错误冒泡排个序,再 sort
排个序,对比下结果是否相同。
(这把sort
立大功了属于是
11:50−结束11:50 - 结束11:50−结束
检查文件名和 freopen
之类的东西,以及版本问题。
T1T1T1 的深搜写挂了,只有 555 分就肥肠难受,别人搜的好的还有 353535 的有 404040 的。但是保底也该有 303030 分的。没有太往 动态规划 上想。正解是 前缀和优化DP 但是前缀和不是重点,动态规划很难想。
T3T3T3 好像真的比别人多水了一档分,sort
离线做省掉 qqq 确实比别人分略高。
这个题表面上给的 1024MB1024MB1024MB ,但是背地里还是偷偷能卡一下空间(其实只要不是无脑,用等差数列前 NNN 项和公式算一下,就能把空间卡到 700MB700MB700MB 以内,而 STDSTDSTD 中的有剪枝,512MB512MB512MB 都卡不住,所以还是要尽量优化,注意空间大小,爆空间比爆时间还可怕)。
然后题里还有一个很没意思的点就是卡 mod
,得用三目运算符优化,写成类似这种的sum[j] = (sum[j - i] + f[i][j]) - ((sum[j - i] + f[i][j]) > Mod) * Mod;
都不行。(最后加了个 火箭头水过去了)。
T4T4T4 相当于下标是奇数偶数的分开sort
了,找到规律,然后线段树单点修改动态维护前缀和。
T1T1T1 深搜写挂 252525 分