20191102 B组总结

原本感觉只有T2可做

TJ

T1(Num):

原本只有两种 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)=yx1
于是事情就简单了。

第二种方法:

注意到有很多重复的,比如 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,2n1)=1
. . . ... ...

加在一起:

我们发现第二种方法可以很快地处理靠后的情况,但是靠前的情况会有很多的重复,所以为了AC,我用半个第二种方法(嘿嘿)

先用第二种搞定 x > 100000 x > 100000 x>100000 f ( n , x ) f(n,x) f(n,x),前面用第一种做 哈哈。

T2(Pla)

过水
秒切

T3


状压

T4

暴力真是不错呀

正解完全木有听懂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值