【每日一题】31.「土」秘法地震 (二维前缀和 / DP)
补题链接:Here
题意就是要找每一个
显然我们可以通过二维前缀和处理出(1, 1) 到 (n, m) 的数量
然后通过枚举处理出答案,具体思想是容斥
令
有递推式子
这个式子可以看成以下图形
image-20210522124957914
【AC代码】
const int N = 2e3 + 10;
int dp[1010][1010];
void solve() {
int n, m, k;
cin >> n >> m >> k;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= m; ++j) {
char ch; cin >> ch;
dp[i][j] += (ch == '1');
}
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= m; ++j)
dp[i][j] += dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1];
int ans = 0;
for (int i = k; i <= n; i++)
for (int j = k; j <= m; j++)
if (dp[i][j] - dp[i - k][j] - dp[i][j - k] + dp[i - k][j - k] > 0)
ans++;
cout << ans << "\n";
}
这道题和蓝书上前缀和专题的一道题很像
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 全程不用写代码,我用AI程序员写了一个飞机大战
2020-05-22 POJ 3159 :Candies 【线性差分约束 链式前向星 栈优化SPFA】