摘要: 状态为f[i][j][k],和g[i][j][k], i为i子树内,j为放置的摄像头个数,f中k为内部向外延伸的长度,g中k为外部向内延伸长度 当内部摄像头j*k>=siz[i]时一定可以全覆盖,要特殊记录,这也是复杂度为n方的关键 三维太多,用encode和decode压缩空间 考虑转移 因为太难 阅读全文
posted @ 2024-12-03 14:35 lyrrr 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 潜入行动 为例, 主要是dfs部分的代码,每次合成两个树,然后再把新的树往上面和,转移会非常容易 #include<bits/stdc++.h> using namespace std; #define LL long long const int N = 1e5 + 10, mod = 1e9 + 阅读全文
posted @ 2024-12-03 13:53 lyrrr 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 主要方法:用多个数组表示不同状态,同时维护两个dp数组 #include<bits/stdc++.h> using namespace std; #define int long long const int N = 500 + 10, mod = 1e9 + 7; int n, k, f[N][N 阅读全文
posted @ 2024-12-03 13:50 lyrrr 阅读(5) 评论(0) 推荐(0) 编辑