题意:给你一个nm(300300)的矩阵,每个点都有一个权值-1e4-1e4,求最大联通块的权值。
思路:
dp其实很好想,dpxij表示第x行i-j区间所联通0-x-1行的最大权值。
那么压缩到n^3我们需要做几件事情:

  1. 在n^2的时间内求出0-x-1行的与ij的最大权值(预处理+均摊复杂度+dp)
  2. 滚动数组
    不好想的是n^2预处理,类似dp中的dp
    不如想想我们n^2可以做什么事情:a. 前缀和求出每个区间的权值和。b. 每个左端点向右所联通的最大值。

那么我们利用b,有规律的枚举区间使得该区间内所有点都被更新,那么外层枚举区间左端点,从1-m;内层枚举区间右端点从m-1。这样我们每次取一个(i,右端点)的最大值,每次更新右端点的最大值,最终即可得到该点所联通的最大值。

得到这个之后我们再有规律的枚举新的一行的区间,既可得到答案。
总结:
这种预处理是第一次见,不难但是确实不好想出来。
代码:

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define forn(i,n) for(ll i=0;i<n;i++)
#define for1(i,n) for(ll i=1;i<=n;i++)
#define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
const ll maxn = 350;
const ll inf = 0x3f3f3f3f3f3f3f3f;
ll sum[maxn],dp[2][maxn][maxn],gg[maxn];int main(){#ifdef ONLINE_JUDGEfreopen("livada2.in","r",stdin);freopen("livada2.out","w",stdout);
#endif  IO;ll t;cin>>t;while(t--){ll n,m;cin>>n>>m;vector<vector<ll> >a((n+1),vector<ll>(m+1));for1(i,n) for1(j,m) cin>>a[i][j];ll cur = 0,ans = -inf;for1(j,m) sum[j] = sum[j-1]+a[1][j];for1(i,m){ll x = 0;for(ll j = i;j<=m;j++){dp[cur][i][j] = sum[j]-sum[i-1];ans = max(ans,dp[cur][i][j]);}}cur^=1;for(ll i =2;i<=n;i++){for1(j,m)for1(k,m) dp[cur][j][k] = -inf;for1(j,m) gg[j] = -inf;sum[0] = 0;for1(j,m) sum[j] = sum[j-1]+a[i][j];ll x = -inf;for1(j,m){ll x = -inf;for(ll k = m;k>=j;k--){x = max(x,dp[cur^1][j][k]);gg[k] = max(gg[k],x);}}for1(j,m){ll x = 0;for(ll k = j;k<=m;k++){x = max(x,gg[k]);dp[cur][j][k] = x + sum[k]-sum[j-1];ans = max(dp[cur][j][k],ans);//cerr<<dp[cur][j][k]<<' ';}//cerr<<'\n';}cur^=1;}cout << ans <<'\n';}    return 0;
}

100923G-Por Costel and the Orchard相关推荐

  1. I - Por Costel and the Pairs Gym - 100923I _思维啊——可惜我现在还没

    We don't know how Por Costel the pig arrived at FMI's dance party. All we know is that he did. The d ...

  2. Por Costel and the Match Gym - 100923H(经典种类并查集)

    Por Costel and the Match Gym - 100923H 题目链接:https://vjudge.net/problem/Gym-100923H 题目: Oberyn Martel ...

  3. Gym100923H Por Costel and the Match

    题目链接:http://codeforces.com/gym/100923/problem/H 分析:并查集,用enemy储存x的敌人,用weight储存权重决定根节点 需用scanf和puts输入输 ...

  4. CCPC-Wannafly Summer Camp 2019 全记录

    // 7.19-7.29 东北大学秦皇岛校区十天训练营,题目都挂在了Vjudge上.训练期间比较忙,没空更博总结,回来继续补题消化. Day1 这天授课主题是简单图论,节奏挺好,wls两小时理完图论里 ...

  5. Gym-100923H-Por Costel and the Match(带权并查集)

    链接: https://vjudge.net/problem/Gym-100923H 题意: Oberyn Martell and Gregor Clegane are dueling in a tr ...

  6. SCAU-春季训练-不应该啊(怎么这么菜。。。)

    2021/3/14 春季训练2(难度div2d) 反思:(赛前,看什么crt,赛时满脑子都是线性方程组,....................................) 最近表现都不太好.. ...

  7. java 中showinfo方法,jmockito模拟方法中参数如何指定

    在做单元测试的时候,经常会遇到mock类的方法的情景.在写单测过程中,遇到一些问题,比较困惑,便做了一些测试,并得出一个结论: 在mock类的方法时,当符合 (mock参数).equals(实际调用过 ...

  8. Orchard:如何生成Hello World模块

    在Orchard架构介绍中对Orchard的一些架构内容进行了介绍,下图是Orchard自带的一些模块, 本篇讲解一下如何扩展Orchard来生成我们的第一个模块. 介绍 Orchard构建在ASP. ...

  9. Asp.net团队疯了(同时发布WebMatrix, Razor, MVC3和Orchard)

    对于园子里的大部分asp.net开发人员来说,WebMatrix,Razor,MVC3以及Orchard都不会很陌生. 但是今天竟然asp.net团队竟然会同时发布这四个产品,简直是太让人震撼了. 为 ...

  10. 看一下基于ASP.NET MVC的开源社区项目Orchard

    昨天介绍了基于ASP.NET MVC的框架Catharsis,今天给大家介绍的是基于ASP.NET MVC的一个开源社区项目Orchard,本篇主要介绍一下Orchard是什么,如何下载安装以及安装过 ...

最新文章

  1. 我国光纤速率创世界记录
  2. python的@修饰符
  3. VB中使用PNG格式图片的一种新方法
  4. python迭代器好处_关于Python中迭代器的作用
  5. 一个很不错的LINUX基本操作归纳
  6. matlab 由移相角如何产生移相脉冲,整流电路控制角移相范围是怎么确定的?
  7. StrokePlus常用脚本
  8. CentOS6 安装Sendmail + Dovecot + Squirrelmail
  9. Python:字符串、列表、元组、字典之间的相互转换
  10. Android ListView之setEmptyView的问题
  11. dat关闭某进程_电脑程序卡住怎么办?结束进程只需要这三个键
  12. openvpen最新安卓中文版_ins下载官方安卓最新版-ins下载安卓版中文版下载v2.5.46 手机版-西西软件下载...
  13. CCI指标详解及实战用法
  14. python写的flappy bird小游戏(最简单版本)有视频链接
  15. Unity高德定位获取天气预报
  16. 從檔案讀16進位字串轉成字元
  17. 不同方式实现IP访问限制
  18. 【blackduck】 Request failed authorization [HTTP Error]: XXX, response was 403 Forbidden.
  19. 启用和禁用excel 中的加载项
  20. c语言-网吧管理系统

热门文章

  1. python爬虫 抓取豆瓣电影 电影分类排行榜的所有数据
  2. 七夕恋人必备表白源码
  3. 论文简读-BootEA-《Bootstrapping Entity Alignment with Knowledge Graph Embedding》
  4. 震惊!旷视首席科学家、知名AI学者孙剑博士去世
  5. DirextX9之2D编程 通过16位色位图创建背景透明的纹理
  6. MySQL八股文连环45问,你能坚持第几问?
  7. struts2+quartz定时任务
  8. bzoj4399: 魔法少女LJJ(线段树合并)
  9. IKEv2的密钥计算方式
  10. FZUOJ 2214 Knapsack problem 背包