首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
小红的矩阵修改
6条解析
开通博客写题解
BaiJay
发表于 2026-01-15 22:13:46
算法思路详解 状态表示选择:三进制状态压缩 由于每个位置存在三种状态,因此采用三进制进行状态压缩,以此来高效表示每一列的整体状态。 优化状态规模:选择列方向压缩 比较 n 和 m 的大小后,考虑到 3^m 的数值规模过大,无法高效处理,因此最终选择对每一列进行状态压缩,避免状态空间爆炸。
展开全文
Xuan2333
发表于 2026-02-23 21:05:21
链接:点我直达b站https://www.bilibili.com/video/BV1zSfqBDEfa/?spm_id_from=333.1387.homepage.video_card.click&vd_source=25202b9574fc44face89f1e9796d69b9代码来
展开全文
Rain_Fly
发表于 2024-03-23 17:47:59
">typedef long long ll; using namespace std; const int N = 5e2 + 10; const int mod = 1e9 + 7; int dp[1010][1010]; //dp[i][j]代表前i列,第i列的状态压缩为j的合法方案数 in
展开全文
蒙奇D_路飞
发表于 2025-03-12 13:14:35
import sys i = 0 s = [] n, m = 0, 0 for line in sys.stdin: if i == 0: n, m = map(int, line.split()) else: s.append(line[:-1])
展开全文
牛客919648186号
发表于 2025-03-09 16:32:58
#include <bits/stdc++.h> using namespace std; int main() { int n, m; cin >> n >> m; vector<string> mat(n); fo
展开全文
腌萝卜干
发表于 2026-02-03 12:43:32
分析 非常有教育意义的状态压缩问题 注意到每个位置的状态有三个, 可以对应 并且发现行的数量非常少只有, 因此可以考虑三进制状态压缩 定义状态表示前列并且第列的状态是的最小代价, 状态转移递推即可 三进制状态的每一位获取方法是, 下一位获取方法是 首先预处理合法状态 初始化第一列状态 当前列的
展开全文
查看本题
查看本题讨论
相关比赛
74808-牛客周赛32 内测
进入比赛
75174-牛客周赛 Round 32
进入比赛
75695-2023年蓝桥杯软件类个人赛校内集训-22
进入比赛
77339-软嵌2022级比赛
进入比赛
78247-华北水利水电大学江淮校区ACM社团训练赛
进入比赛
等你来战
查看全部
牛客小白月赛129
报名截止时间:2026-02-27 21:00
牛客周赛 Round 133
报名截止时间:2026-03-01 21:00
【小羊肖恩】小羊杯 Round 3
报名截止时间:2026-03-15 18:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题