原本感觉只有T2可做
原本只有两种 O ( n ) O(n) O(n)的方法 结果放到一起就AC了
枚举 1 1 1到 n n n,直接计算 f ( n , x ) f(n,x) f(n,x) 注意到 f ( n , x ) = ⌊ x y ⌋ − 1 f(n,x)=\lfloor \frac{x}{y} \rfloor -1 f(n,x)=⌊yx⌋−1 于是事情就简单了。
注意到有很多重复的,比如 n = 10 n=10 n=10 时:
9 4 2 1 1 0 0 0 0 0经过思考可得 f ( n , ⌈ n 2 ⌉ ) = f ( n , ⌈ n 2 ⌉ + 1 ) = . . . = f ( n , n ) = 0 f(n, \lceil \frac{n}{2} \rceil)=f(n, \lceil \frac{n}{2} \rceil +1)=...=f( n,n)=0 f(n,⌈2n⌉)=f(n,⌈2n⌉+1)=...=f(n,n)=0 f ( n , ⌈ n 3 ⌉ ) = f ( n , ⌈ n 3 ⌉ + 1 ) = . . . = f ( n , ⌈ n 2 ⌉ − 1 ) = 1 f(n, \lceil \frac{n}{3} \rceil)=f(n, \lceil \frac{n}{3} \rceil +1)=...=f( n,\lceil \frac{n}{2} \rceil -1)=1 f(n,⌈3n⌉)=f(n,⌈3n⌉+1)=...=f(n,⌈2n⌉−1)=1 . . . ... ...
我们发现第二种方法可以很快地处理靠后的情况,但是靠前的情况会有很多的重复,所以为了AC,我用半个第二种方法(嘿嘿)
先用第二种搞定 x > 100000 x > 100000 x>100000 的 f ( n , x ) f(n,x) f(n,x),前面用第一种做 哈哈。
过水 秒切
嗯 状压
暴力真是不错呀
正解完全木有听懂
