公开题解_延安 20230805 模拟赛题解
T1
相信你们都查到了的原题:CF468A
签到题,考的是出题人如何写SPJ。
:显然无解
:显然有解,手工构造就行了。
|
|
:每次输出
|
就可以使得 两数字凭空消失,此时只剩 到 ,可以看做 减少了 。
不断减下去,直到 为 或 ,输出构造的答案就可以了。
T2
相信你们都查到了的原题:P2224
DP,设 表示左手劳累度为 时右手劳累度最小值。
最后计算 即可。
其实上面的思想有了,转移十分简单,实在推导不出来就看 luogu 题解吧。
T3
相信你们都查到了的近似题:P5656
傍一写了个十分正确的东西,但 TA 取模为啥要那么写我不知道。
exgcd 板子题,还是弱化版,建议直接上 oiwiki 搜索 exgcd。
你会发现真的非常简单,会算 的人肯定都会。
T4
相信你们都查到了的原题:P4552
t4 没想到会有那么多人写出正解(不过我觉得都是贺的,因为4个人中有3个第一次提交RE,第4个干脆直接告诉我 TA 发现了原题)。
20230805 16:26更新:
还真是原题,但我在团队题单中都没找到啊😢。
将原序列变成差分序列。
你会发现,操作无非两种:把两个数一个 ,一个 或单独把一个数 或 。目的是把下标为 到 的数变为 。
最少次数就是差分数组中 到 的所有负数和与正数和(以下负数和与正数和)的最大值(证明:显然不可能更少(一次操作只能最多使得正数和 ,也只能最多使得负数和 ),也不用更多(只要每次挑选一个 到 的负数+1,挑选一个 到 的正数-1,然后当其中一个为 时专心消除另一个即可))。
最后会多出 个运算,我们可以把其中的一些运算改成同时作用于第一个数(比如把 改成 且第一个数 ),这样第一个数就多了 种取值,共有 种取值。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 felixesintot's blog!
评论