dp+优化

很明显可以用单调队列优化。

记录下自己犯的sb错误:  数组开小,sum没搞清。。。

#include<cstdio>
#include<cstring>
using namespace std;
const int N = , M = ;
int n, m, k, ans;
int q[M];
int dp[N][M], sum[N][M], dis[N][M];
inline int max(int x, int y)
{
return x > y ? x : y;
}
inline int read()
{
int x = , f = ; char c = getchar();
while(c < '' || c > '') { if(c == '-') f = -; c = getchar(); }
while(c >= '' && c <= '') { x = x * + c - ''; c = getchar(); }
return x * f;
}
int main()
{
//dp[i][j] = dp[i - 1][x] + sum[j] - sum[x - 1]
//dp[i][j] = dp[i - 1][x] + sum[x] - sum[j - 1]
while(scanf("%d%d%d", &n, &m, &k))
{
memset(dp, , sizeof(dp));
ans = ;
if(n == && m == && k == ) break;
++n;
++m;
for(int i = ; i <= n; ++i)
for(int j = ; j <= m; ++j)
{
int x;
x = read();
sum[i][j] = sum[i][j - ] + x;
}
for(int i = ; i <= n; ++i)
for(int j = ; j <= m; ++j)
{
int x;
x = read();
dis[i][j] = dis[i][j - ] + x;
}
for(int i = ; i <= n; ++i)
{
int l = , r = ;
q[++r] = ;
for(int j = ; j <= m; ++j)
{
while(l <= r && dp[i - ][j] - sum[i][j] > dp[i - ][q[r]] - sum[i][q[r]]) --r;
q[++r] = j;
while(l <= r && dis[i][j] - dis[i][q[l]] > k) ++l;
dp[i][j] = dp[i - ][q[l]] + sum[i][j] - sum[i][q[l]];
}
l = ;
r = ;
q[++r] = m;
for(int j = m; j; --j)
{
while(l <= r && dp[i - ][j] + sum[i][j] > dp[i - ][q[r]] + sum[i][q[r]]) --r;
q[++r] = j;
while(l <= r && dis[i][q[l]] - dis[i][j] > k) ++l;
dp[i][j] = max(dp[i][j], dp[i - ][q[l]] + sum[i][q[l]] - sum[i][j]);
if(i == n) ans = max(ans, dp[i][j]);
}
}
printf("%d\n", ans);
}
return ;
}

最新文章

  1. 发现 OpenStack: 架构、功能和交互
  2. eventbus实时更新
  3. GDB中汇编调试
  4. HTML 学习笔记 CSS3 (边框)
  5. python函数,lambda表达式,三目运算,列表解析,递归
  6. [SHELL进阶] (转)最牛B的 Linux Shell 命令 (四)
  7. 利用PHPRPC以及SOAP分别实现PHP的Webserver功能
  8. 第一阶段项目(2 body)
  9. webservice第三篇【接口开发webservice、CXF框架使用、IDEA下使用webservice、小例子】
  10. OC学习11——循环引用与@class
  11. Markdown对应Yelee主题语法
  12. iview 3.x InputNumber数字框bug
  13. [转载]PHP中PSR-[0-4]规范
  14. spring boot 项目启动无任何反应
  15. noip第15课作业
  16. MySQL查询性能优化---高性能(二)
  17. 转multicast vs broadcast
  18. JavaScrip入门笔记(二)
  19. 从零搭建SSM框架(四)手动实现Tomcat部署
  20. MYSQL的隐式类型转换

热门文章

  1. AjaxDemo
  2. rrdtool 实践
  3. Opencv学习之路—Opencv下基于HOG特征的KNN算法分类训练
  4. 293. [NOI2000] 单词查找树——COGS
  5. Codeforces Round #469 Div. 2题解
  6. from __future__ import absolute_import的作用
  7. 《奋斗吧!菜鸟》 第八次作业:Alpha冲刺
  8. Delphi 10.3.2最新消息
  9. vim学习1-入门指令
  10. 【codeforces 767B】The Queue