【解题总结】CodeChef February Challenge 2021 部分简要题解

有的题还没看,后面补。

Prime Game

Chef 赢当且仅当他能一步绝杀。右推左很简单,但左推右是我瞎猜的(为啥呢)。

XOR Sums

拆位。对某一位,如果其具有 a a a 个 1, n − a n-a na 个 0,设 f i f_i fi 为总共选取 i i i 个 1 或 0 使得在这一位上取到奇数个 1(也就是异或出来是 1)的方案数。

那么 f f f g , h g, h g,h 的卷积,其中
g i = { ( a i ) , i ≡ 1 ( m o d 2 ) 0 , i ≡ 0 ( m o d 2 ) , h i = ( n − a i ) g_i = \begin{cases} \binom{a}{i}, & i \equiv 1 \pmod 2 \\ 0, & i \equiv 0 \pmod 2 \end{cases}, h_i = \binom{n - a}{i} gi={ (ia),0,i1(mod2)i0(mod2),hi=(ina)

本题需要大力卡常… 一种卡常方法是一次 NTT 把 30 位全处理了。

Multiple Games

打表发现如果选的数集最小值是 a a a,最大值是 b b b,那么先手必胜当且仅当 G   m o d   ( a + b ) ≥ a G \bmod (a + b) \ge a Gmod(a+b)a

那么 Q Q Q 个询问对应这样一堆 ( a , b ) (a, b) (a,b)。考虑分块, ≤ M \le \sqrt{M}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值