(Something extra)
哇哇哇,前三题有两题原创,出题人(WJQ)%%%
还有最后一题真的猛过头了。。。
估分:(60 + 35 + 15 + 0 = 110)
考场:(50 + 35 + 15 + 0 = 100)
(T1)的(10)分部分分忘记开(long long)了。。。
(T1)
从(n+1)开始找规律(这样就去掉了(max)了)
找下规律后,发现每(n)个换行,有规律。
然后开始看,发现对于(<=n)的数不变,对于(n+1)则会在下一行移动到右边一位(下面的那个变成(n))
大概实际操作:
(n=5)
(6 5 5 6 5)
(5 6 6 5 6)
(5 5 6 6 5)
(6 5 5 6 6)
发现每行最后一个为(n+1)的时候会对下两行的第一个数产生贡献。
而对于(n+1)走到(n-1)的位置上时,就填上成为(n),然后就不会再变了。
综上,这就是一个大模拟题,细节贼多,考场搞了半天还是(GG)了。只好结合暴力提交。
(Solution Access)
(T2)
想不出来,打了个(O(n*min(R,2*L)))的暴力(DP)算法。
设(f[i][x])表示第(i)个数为(x)的时候,前面最小的该变量,再存一下从哪里转移最优即可。
而且发现当(R>2*L)的时候,完全没有必要将一个数加到(L),所以取(min)即可。
但这样只能拿到(35)分。
(T3)
只会(O(n^2))常数很小的算法,获得(15)分大众分。
(T4)
对不起,我连(O(n^2))的算法都不会。。。
总结
相比昨天,今天的题目难度加大了,但是今天我却打了(3)题(昨天才(2)题),说明时间的分配和个人抉择是很重要的。
而且今天感觉自己能拿的分大部分都拿到了,但有些(没开(long long)、纯暴力不会打)这些地方还是要改正改正。
下次还是要加把劲啊!!!