日常刷题:cf每日一题+abc+反思复盘

cf round723 BProblem

试图瞪眼法解决未果被数据63909轻松单防Submission
随后开始思考:

\[1111 = 101 \cdot 11 \]

\[11111 = 1000 \cdot 11+111 \]

\[111111 = 10101 \cdot 11 \]

如所示,所有的由全1组成的数字都可以由 \(111\)\(11\) 表示出,也就是我们无论减去任何一个数,都相当于减去一个 \(a \cdot 11+b \cdot 111\)
由此,问题转化为一个数能否被表示为 \(a \cdot 11+b \cdot 111\)
由:

\[a \cdot 11+b \cdot 111 = 11 \cdot (a+10 \cdot b)+b \]

也就是说将原式中所给的 \(b\) 反解求出(通过对原数据模11),随后可秒。

ABC422DProblem

基于计算最大不平衡度的算法逆推,对于整个数列来看,总和是固定的,做第一次切分时为了使"最大不平衡度"最小,可以令其尽量均分(即若为偶数则均分,若为奇数则差1),如此分出两个小序列及其对应的和,依次构造(类似线段树的 \(build\) 函数)。Submission

CFround1040DProblem

对于每一个点,我们关注其对整个序列中,逆序对的贡献。

  1. 在不更改时,其与靠前的元素构成的逆序对
  2. 在更改后,其与靠后的元素所构成的新逆序对。因为其 \((2 \cdot n-a[i])\) 的性质,一定会比靠前的所有元素大,所以原本与靠前的元素组成的逆序对将不复存在。而也因为这个性质,对于每一个原本比其大的、位置靠后的元素,会出现新的逆序对。
    每次查询时取最小值相加即可。Submission
posted @ 2025-09-26 22:59  AboveFrost  阅读(15)  评论(0)    收藏  举报