日常刷题: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
对于每一个点,我们关注其对整个序列中,逆序对的贡献。
- 在不更改时,其与靠前的元素构成的逆序对
- 在更改后,其与靠后的元素所构成的新逆序对。因为其 \((2 \cdot n-a[i])\) 的性质,一定会比靠前的所有元素大,所以原本与靠前的元素组成的逆序对将不复存在。而也因为这个性质,对于每一个原本比其大的、位置靠后的元素,会出现新的逆序对。
每次查询时取最小值相加即可。Submission

浙公网安备 33010602011771号