T1好像是费用流,想了个
O
(
n
2
)
O(n^2)
O(n2)的建图。
又想了想发现只要差分一下就可以做到,
O
(
n
)
O(n)
O(n)的建图。
写费用流,写完构了几组小数据发现没问题。
写T2的暴力数位dp,只需要记录三维状态就可以了。
发现 a b s ( b − c ) ≤ 1 ) abs(b-c)\le 1) abs(b−c)≤1),因此复杂度又降了一维。
推了一会没有限制的情况,发现就是一个插板法的组合数。
然后似乎就会
O
(
n
)
O(n)
O(n)的做法了。
写T2的正解,高精度还废了会功夫。
T3的第一档由鸽巢原理,输出
C
m
\frac{C}{m}
mC即可。
m
=
2
m=2
m=2可以双指针然后三分,但是感觉细节很多就没写。
其他的性质也不太会.
正解和暴力拍的时候因为造数据的原因,有一些情况没考虑到,导致造的数据n,m都是相等的,然后我也没发现n,m写反了。
考场上也能口胡个大概。
但是细节真的太多,考场上也不回去写。
不过对C取模后变成是否有一个位置被覆盖m次,这个构造还挺妙的。