Processing math: 25%

csp-s模拟86

T1:
  按位考虑,考虑每一位1的个数,类似数位dp就好了
 
T2:
  好像是什么威佐夫博弈的变形?
  正解咕了,可以看代码
  有另一种比较好的思路
  由打表可得,必败局面很少!
  而且有一个显然的性质是,必胜局面一定可以转移到必败局面
  那么我们可以用必败局面反推,若一个枚举到一个局面时它还没有被转移到,那么它就是一个必败局面
  卡卡常就过了
 
T3:
  有一个很强的技巧:maxi(|xiyi|)=maxi(max(xiyi,yixi)
  说起来好像很简单,但我没想到……
  那么我们就可以对两种情况都求出max来,然后再取max即可
  具体来说我们将绝对值拆开,然后考虑s_i的贡献,发现贡献系数应该是这个样子:
\pm 1,0,2,-2,0,0,2,0,-2...,\pm 1
  即:除开头和结尾外,贡献应该是2和-2相间的,且中间是0
  形象化的理解可以把这些系数看作一条折线,只有在端点和拐点有贡献,那么我们就可以基于这个来dp
  设计f_{i,j,(0/1/2/3)}表示考虑到i点,当前是第j段,点i是在上升/下降/最高点/最低点,分别系数为0/0/2/-2
  因为每一段贡献系数是相同的,所以一个一个点加入即可

posted @   G_keng  阅读(117)  评论(0编辑  收藏  举报
编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 用 DeepSeek 给对象做个网站,她一定感动坏了
· DeepSeek+PageAssist实现本地大模型联网
· 手把手教你更优雅的享受 DeepSeek
· Java轻量级代码工程
· 从 14 秒到 1 秒:MySQL DDL 性能优化实战
点击右上角即可分享
微信分享提示