省流:没过 T1,玩了 1h 俄罗斯,不好评价。
还好 T3 一个小时写完了平方暴力,还没菜到离谱,感觉这才是一个正常的分数。但是好像正解要不到 1h?
T2 的 dp 优化是我弱项,做不出正常,spdarkle 是真逆天。怎么一眼的怎么一眼的怎么一眼的怎么一眼的怎么一眼的怎么一眼的怎么一眼的。
发现后面又是一堆人,我怎么又没垫底。
算了天天好心情,把题补了再说。
T1 神经贪心。肯定要先尽可能匹配,然后你每次额外计算后面接一个小的花费。
T2 注意到最后点数是值域级别,显然不可做。注意到不存在跨越计数的情况,即:一定是所有相邻的两个 \(a_i\) 进行操作过后形成的所有数拼起来就可以组成最终的目标序列。
我们考虑把每一层拉出来进行转移。考虑把每相邻两个 \(a_i\) 之间的所有点单独考虑。分层过后是一个二叉树的形式:
实际上就是每次向右/右下走的最长路径。这个可以分层 dp 做了。(对于满的一层你肯定是最左到最右)
但是最后一层不是满的情况,非常不好做啊。发现性质:
-
若有一棵子树是满的,那么所有点都有右儿子。证明:根据向下取整,右儿子严格多/强于左儿子。
-
方案:【先走上一层的一些点,然后再走下来把这一层剩下的走完】可以被只走 1 层的所有点替换。证明根据上面那个性质。
然后你跨越转移和同层转移的代价就好算了,只有最后一层不满的时候有区别。然后用前缀优化到线性对数 dp。
T3:
我有一个平方的 dp 做法,并且还需要把 3 次方的合并优化成平方。
和正解不知道有什么联系,直接看正解:
给我讲题的 zyr 使用的是反向计数,我们考虑正向推导,加深理解杜绝按部就班。
先对于每个点 \(i\) 考虑贡献:
标签:一层,怎么,平方,21,dp,NOIP2024,一眼,考虑,模拟 From: https://www.cnblogs.com/LCat90/p/18522218