首页 > 病菌感染
头像 小琢卷不动
发表于 2021-11-23 20:42:31
考虑类似 bfs 的过程,通过一个队列去扩展我们的答案就好。 一个格子被感染,可以影响到它周围的 444 个格子,而一个格子周边一旦存在 ≥2\ge2≥2 个格子被感染那么它也会被感染,这个直接建图,类似一个拓扑排序,入度 =0=0=0 就拓扑过去就好了。 时间复杂度 O(nm)O(nm)O(nm) 展开全文
头像 行大道
发表于 2023-03-19 09:25:12
#include<bits/stdc++.h> using namespace std; int a[1001][1001],n,m,s,f=1; int main() {     cin>>n>>m;     for 展开全文
头像 牛客532105025号
发表于 2023-08-30 19:55:33
简单的多路广搜。 将最初病菌放入队列,之后依次出列,判断其向外蔓延的格子是否可以被病菌覆盖,可以被覆盖将其放入队列,否则不做操作。 代码: void solve() { int n,m; cin>>n>>m; // 按 从 0 到 n-1 进行建图 v 展开全文
头像 DPsans
发表于 2026-04-15 11:38:53
·题意·给定一n*n矩阵,初始有m个方格被感染,当一个方格相邻的方格中有两个及以上的方格被感染时,该方格会感染;n <= 1000, m < n;·分析·可发现,最效率感染情况为,有感染方格对角相邻时,感染方格可扩散,如图:·所以,在最优感染的情况下,即对角线,感染全部结点都至少需要有n 展开全文