首发题解,庆祝一下
大家好,我是ЭНТДЖЕЙ,今天是我2026年第十九次正式发题解!
2026年发布的题解!
能不能点个赞
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
首先简化题意:
* 你在(1,1)(1,1)(1,1)你要到(n,m)(n,m)(n,m)去,在(i,j)(i,j)(i,j)上,当 ai,j=0a_{i,j} = 0ai,j =0 时不得分; ai,j=1a_{i,j} = 1ai,j =1 时得一分; ai,j=?a_{i,j} = ?ai,j =? 你可以选择消耗一次机会(最多 xxx 次)将 ??? 变成 111,从而得一分,否则不得分。问到 (n,m)(n,m)(n,m) 时的最大得分
然后就是写代码:
* 处理输入(READ):
* 正常输入
* 核心部分(PROCESS):
* 这是一道比较标准的dpdpdp,定义dpdpdp数组:dp[i][j][k]表示到(i,j)换了k次?的最大得分dp[i][j][k]表示到(i,j)换了 k 次 ? 的最大得分dp[i][j][k]表示到(i,j)换了k次?的最大得分
* dp[i][j][k]dp[i][j][k]dp[i][j][k] 明显只能从 dp[i−1][j][k]、dp[i][j−1][k]、dp[i−1][j][k−1]、dp[i][j−1][k−1]dp[i - 1][j][k]、dp[i][j - 1][k]、dp[i - 1][j][k - 1]、dp[i][j - 1][k - 1]dp[i−1][j][k]、dp[i][j−1][k]、dp[i−1][j][k−1]、dp[i][j−1][k−1]来,特别的,当 1<=k1 <= k1<=k ,后面两个才成立
* 三重暴力循环,枚举 i,j,ki,j,ki,j,k 计算得出结果
最后输出(WRITE):
* 输出结果
完整代码:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
🎉完结撒花🎉