T1:
按位考虑,考虑每一位1的个数,类似数位dp就好了
T2:
好像是什么威佐夫博弈的变形?
正解咕了,可以看代码
有另一种比较好的思路
由打表可得,必败局面很少!
而且有一个显然的性质是,必胜局面一定可以转移到必败局面
那么我们可以用必败局面反推,若一个枚举到一个局面时它还没有被转移到,那么它就是一个必败局面
卡卡常就过了
T3:
有一个很强的技巧:\(max_i (|x_i-y_i|)=max_i(max(x_i-y_i,y_i-x_i)\)
说起来好像很简单,但我没想到……
那么我们就可以对两种情况都求出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
因为每一段贡献系数是相同的,所以一个一个点加入即可
相关文章
- 02-28Boostrap之模拟框使用
- 02-28【B1010/模拟】多项式求导(巧用数组)
- 02-28有500个小朋友,围成一个圈,从第一个开始数1,数到3的小朋友退出,后面继续从1开始数,数到3的小朋友退出,这样执行下去,最后留下的小朋友是哪个?用数组模拟。
- 02-28LOJ#2076. 「JSOI2016」炸弹攻击(模拟退火)
- 02-28模拟测试60
- 02-28C++ 判断当前系统x64 or x86
- 02-28NOIP模拟赛-2018.11.7
- 02-28vue组件的hover事件模拟、给第三方组件绑定事件不生效问题
- 02-28【题解】 「NOI2019」序列 模拟费用流 LOJ3158
- 02-28Spring Boot Swagger2自动生成接口文档和Mock模拟数据