2020.11.03【NOIP提高A组】模拟 总结

\(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\)、纯暴力不会打)这些地方还是要改正改正。
下次还是要加把劲啊!!!

posted @ 2020-11-03 16:31  jz929  阅读(101)  评论(0编辑  收藏  举报