瞎几把写的cspj题解
去刚t3结果把t4写挂了qwq,先把四道题都编个方法出来。
T1
随便写个东西都可以,特判一下偶数然后就瞎搞,预处理什么的反正都可以过
T2
ai只有600,开个桶拿来记录,复杂度反正CCF少爷机能跑过。听说大家都写的是两个堆搞来搞去但是我不会qwq
T3
对于每一个变量记录一个f[i]表示将它取反会不会改变最后的结果。这个过程么用栈模拟中途记录或者打个dfs搜索都可以。这玩意儿本质上是个树形dp。复杂度差不多O(n),无论怎么样反正是个能过的东西
T4
两种方法,记f[i][j][0..2]表示在第i行第j列,是从哪个方向转移过来的。
转移方程:
f[i][j][0]=max(f[i−1][j][0..2])
f[i][j][1]=max(f[i][j−1][0,1])
f[i][j][2]=max(f[i][j+1][0,2])
或者可以注意到上下走其实就是对于每一列,上和下都求一个类似最大连续段和的东西,然后每次取个max就完了。
方程:f[i][j]=max(f[i−1][j]+a[i],max(up[i],down[i]))(写了跟没写也没啥区别)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步