[luoguP2219] [HAOI2007]修筑绿化带(单调队列)
传送门
需要n*m的算法,考虑单调队列
可以预处理出来
a[i][j]表示以i,j为右下角的绿化带+花坛的和
b[i][j]表示以i,j为右下角的花坛的和
那么我们可以单调队列跑出来在AC1,BD1的矩阵中的b[i][j]的最小值
枚举i,j,用取a[i][j]ans[i1][j1]的最大值
#include <cstdio>#include <iostream>#define N 2001using namespace std;int n, m, A, B, C, D, E, F, h, t, ans;int a[N][N], b[N][N], c[N][N], ans1[N][N], ans2[N][N], q[N];inline int read()inline void work1(int k)}inline void work2(int k)}int main()for(i = C; i <= n; i++) work1(i);for(i = D; i <= m; i++) work2(i);for(i = A; i <= n; i++)for(j = B; j <= m; j++)ans = max(ans, a[i][j] ans2[i 1][j 1]);printf("%d\n", ans);return 0;}
上一篇:[luoguP1053] 篝火晚会(贪心 + 乱搞)
下一篇:[luoguP2221] [HAOI2012]高速公路(线段树)
单调队列
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?