博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ACM-ICPC北京赛区2017网络同步赛H
阅读量:6250 次
发布时间:2019-06-22

本文共 2845 字,大约阅读时间需要 9 分钟。

http://hihocoder.com/contest/icpcbeijing2017/problem/8

预处理暴力枚举修改的点

#include 
using namespace std;const int maxn = 159;const int inf = 0x3f3f3f3f;int a[maxn][maxn];int colsum[maxn][maxn];int rowsum[maxn][maxn];int dp[maxn];int up[maxn],down[maxn],rig[maxn],lef[maxn];int main(){ int n,m,p; while(~scanf("%d%d%d",&n,&m,&p)){ memset(up,-inf,sizeof(up)); memset(down,-inf,sizeof(down)); memset(rig,-inf,sizeof(rig)); memset(lef,-inf,sizeof(lef)); for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ scanf("%d",&a[i][j]); colsum[i][j] = colsum[i-1][j]+a[i][j]; rowsum[i][j] = rowsum[i][j-1]+a[i][j]; } } int ans = -inf; for(int i=1;i<=n;i++){ for(int j=i;j<=n;j++){ dp[0] = -inf; for(int k=1;k<=m;k++){ int tmp =colsum[j][k]-colsum[i-1][k]; dp[k] = max(dp[k-1]+tmp,tmp); ans = max(ans,dp[k]); lef[k] = max(lef[k],dp[k-1]); } } } for(int i=1;i<=n;i++){ for(int j=i;j<=n;j++){ dp[m+1] = -inf; for(int k=m;k>=1;k--){ int tmp =colsum[j][k]-colsum[i-1][k]; dp[k] = max(dp[k+1]+tmp,tmp); rig[k] = max(rig[k],dp[k+1]); } } } for(int i=1;i<=m;i++){ for(int j=i;j<=m;j++){ dp[0] = -inf; for(int k=1;k<=n;k++){ int tmp =rowsum[k][j]-rowsum[k][i-1]; dp[k] = max(dp[k-1]+tmp,tmp); up[k] = max(up[k],dp[k-1]); } } } for(int i=1;i<=m;i++){ for(int j=i;j<=m;j++){ dp[n+1] = -inf; for(int k=n;k>=1;k--){ int tmp =rowsum[k][j]-rowsum[k][i-1]; dp[k] = max(dp[k+1]+tmp,tmp); down[k] = max(down[k],dp[k+1]); } } } for(int i=1;i<=m;i++){ lef[i] = max(lef[i],lef[i-1]); } for(int i=m;i>=1;i--){ rig[i] = max(rig[i],rig[i+1]); } for(int i=1;i<=n;i++){ up[i] = max(up[i],up[i-1]); } for(int i=n;i>=1;i--){ down[i] = max(down[i],down[i+1]); } int ret = ans; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ int tmp = max(up[i],down[i]); tmp = max(tmp,lef[j]); tmp = max(tmp,rig[j]); tmp = max(tmp,ans-a[i][j]+p); ret = min(ret,tmp); } } printf("%d\n",ret); } return 0;}/*1 4 -13 -2 5 9*/

  

转载于:https://www.cnblogs.com/tjucxz/p/8849612.html

你可能感兴趣的文章
Download Free Oracle Reports Building Guide eBook
查看>>
固定标题列、标题头table
查看>>
Geeks - Check whether a given graph is Bipartite or not 二分图检查
查看>>
使用Ant构建简单项目
查看>>
求两个有序数组的中位数(4. Median of Two Sorted Arrays)
查看>>
git锁和钩子以及图形化界面
查看>>
DataSnap Server 客户端调用 异常
查看>>
cesium之地图贴地量算工具效果篇
查看>>
C# winform DevExpress上传图片到数据库【转】
查看>>
指针和引用
查看>>
Review Board
查看>>
winform 程序中 调用wpf 窗体
查看>>
Chapter 24. Dynamic language support
查看>>
信息检索Reading List
查看>>
Advanced Customization of the jQuery Mobile Buttons | Appcropolis
查看>>
ubuntu配置bridge网桥
查看>>
批量修改sharepoint 2013站点里区域设置
查看>>
在尝试重新安装一个服务时遇到这样的错误:指定服务已标记为删除
查看>>
我的Android开发相关文章
查看>>
20141029
查看>>