分类讨论(以下仅考虑行,列的情况):
1.4行的,求出每一行的和后找到4个最大值即可;
2.3行1列,枚举列,再将每一行最大值减去那一列的值后取3个最大值得和即可;
3.2行2列,发现行和列是等价的,因此可以通过旋转使得$m\le n$,又因为$nm\le 10^5$,所以$m\le \sqrt{10^5}$,枚举两列后用同样的做法求出最大值即可
最终复杂度$o(nm\codt \min(n,m))$,也就是根号的复杂度

 1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 100005
4 #define ll long long
5 int n,m;
6 ll ans,b[N],s1[N],s2[N];
7 vector<int>a[N];
8 bool cmp(ll x,ll y){
9 return x>y;
10 }
11 ll qu(ll *a,int n,int k){
12 if (n<k)return 0;
13 ll x;
14 for(int i=1;i<=k;i++)b[i]=0;
15 for(int i=1;i<=n;i++){
16 x=a[i];
17 for(int j=1;j<=k;j++)
18 if (x>b[j])swap(x,b[j]);
19 }
20 x=0;
21 for(int i=1;i<=k;i++)x+=b[i];
22 return x;
23 }
24 int main(){
25 scanf("%d%d",&n,&m);
26 for(int i=1;i<=n;i++){
27 a[i].push_back(0);
28 for(int j=1;j<=m;j++){
29 scanf("%lld",&ans);
30 a[i].push_back(ans);
31 s1[i]+=a[i][j];
32 s2[j]+=a[i][j];
33 }
34 }
35 ans=max(qu(s1,n,4),qu(s2,m,4));
36 for(int i=1;i<=n;i++){
37 for(int j=1;j<=m;j++)s2[j]-=a[i][j];
38 ans=max(ans,s1[i]+qu(s2,m,3));
39 for(int j=1;j<=m;j++)s2[j]+=a[i][j];
40 }
41 for(int j=1;j<=m;j++){
42 for(int i=1;i<=n;i++)s1[i]-=a[i][j];
43 ans=max(ans,s2[j]+qu(s1,n,3));
44 for(int i=1;i<=n;i++)s1[i]+=a[i][j];
45 }
46 if (n<=m)
47 for(int i=1;i<n;i++)
48 for(int j=i+1;j<=n;j++){
49 for(int k=1;k<=m;k++)s2[k]-=a[i][k]+a[j][k];
50 ans=max(ans,s1[i]+s1[j]+qu(s2,m,2));
51 for(int k=1;k<=m;k++)s2[k]+=a[i][k]+a[j][k];
52 }
53 else
54 for(int i=1;i<m;i++)
55 for(int j=i+1;j<=m;j++){
56 for(int k=1;k<=n;k++)s1[k]-=a[k][i]+a[k][j];
57 ans=max(ans,s2[i]+s2[j]+qu(s1,n,2));
58 for(int k=1;k<=n;k++)s1[k]+=a[k][i]+a[k][j];
59 }
60 printf("%lld",ans);
61 }

[cf1219G]Harvester的更多相关文章

  1. ★Kali信息收集~ 5.The Harvester:邮箱挖掘器

    官网:http://www.edge-security.com 安装:apt-get install theHarvester 运行:终端输入 theharvester (小写) 用法+参数:(返回邮 ...

  2. 逆天Kali带你游遍大江南北~安全之前人铺路!

    0.Linux基础学习(基本指令) http://www.cnblogs.com/dunitian/p/4822807.html 1.Kali安装到移动硬盘或者U盘中~Linux系列通用方法(包括An ...

  3. ★Kali信息收集★8.Nmap :端口扫描

    ★Kali信息收集~ 0.Httrack 网站复制机 http://www.cnblogs.com/dunitian/p/5061954.html ★Kali信息收集~ 1.Google Hackin ...

  4. 安装 log.io 实时监控 php_error 日志

    Log.io 实时监控 php_error.log 日志 开启 php_error 实时监控日志的第一步,要首先开启 php_error 的功能. vi php.ini 修改 PHP 配置文件,将 ; ...

  5. Kali信息收集系列:(都是我以前的笔记整理了一下,就没加水印,习惯就好)

    好几天没发微信公众号了,今天一起发下.(最近有点事情) 前些天老业界的一位朋友问我一些Safe新时代信息收集的问题 逆天虽然好多年不干老本行,但隔段时间都会关注一下 于是就花了点时间整理了一下,你们就 ...

  6. [爬虫资源]各大爬虫资源大汇总,做我们自己的awesome系列

      大数据的流行一定程序导致的爬虫的流行,有些企业和公司本身不生产数据,那就只能从网上爬取数据,笔者关注相关的内容有一定的时间,也写过很多关于爬虫的系列,现在收集好的框架希望能为对爬虫有兴趣的人,或者 ...

  7. kali linux 渗透测试视频教程 第五课 社会工程学工具集

    第五课 社会工程学工具集 文/玄魂 教程地址:http://edu.51cto.com/course/course_id-1887.html   目录 第五课社会工程学工具集 SET SET的社会工程 ...

  8. backtrack5渗透 笔记

    目录        1.信息收集        2.扫描工具        3.漏洞发现        4.社会工程学工具        5.运用层攻击msf        6.局域网攻击       ...

  9. NodeJS无所不能:细数10个令人惊讶的NodeJS开源项目

    在几年的时间里,NodeJS逐渐发展成一个成熟的开发平台,吸引了许多开发者.有许多大型高流量网站都采用NodeJS进行开发,像PayPal,此外,开发人员还可以使用它来开发一些快速移动Web框架. 除 ...

随机推荐

  1. 微软发布了Visual Studio 2022 RC版,并将在11月8日发布正式版

    微软今天发布了Visual Studio 2022 最接近正式发布的RC版本,同时宣布在11月8日发布正式版,届时将在线上发布虚拟的发布活动,具体参见:https://devblogs.microso ...

  2. Markdown数学公式

    1. 显示位置与大小 正文(inline)中的LaTeX公式用$...$定义, 显示在当前行内. $\sum_{i=0}^N\int_{a}^{b}g(t,i)\text{d}t$ \(\sum_{i ...

  3. GIS应用|快速开发REST数据服务

    随着计算机的快速发展,GIS已经在各大领域得到应用,和我们的生活息息相关, 但是基于GIS几大厂商搭建服务,都会有一定的门槛,尤其是需要server,成本高,难度大,这里介绍一种在线GIS云平台,帮你 ...

  4. JDK 8中重要的函数式接口(必知必会)

    JDK 8 提供的重要函数式接口: Consumer (消费者) 功能:接收一个对象,返回void. 定义:void accept(T t) 默认方法:Consumer andThen(Consume ...

  5. vue3.x组件间通信,实用小技巧都在这里

    本想简单写写,没想到说清楚已经变成了一篇很长的帖子,欢迎当笔记搜藏起来. props / emits 父子组件通信 props一般负责向子组件传递数据 下面是一个简单的例子,父组件向子组件传递了一个t ...

  6. Noip模拟33垫底反思 2021.8.8

    T1 Hunter 考场上没写$%p$挂了25分.也是很牛皮,以后打完过了样例一定要检查 因为样例太小了......很容易忘记%%%% 正解随便手模就出来了. 1 #include<bits/s ...

  7. Linux过来人帮你理清学习思路

    很多同学接触linux不多,对linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机it行业从业人员,="" 掌握linux是一种很重要的 ...

  8. 验证人员应该以何种角度阅读spec

    转载:验证人员应该以何种角度阅读spec - 微波EDA网 (mweda.com) 在开发流程中,设计和验证人员关注的点肯定是不一样的,尤其在spec的理解上,验证人员往往需要有自己独立的理解.在拿到 ...

  9. u-boot 1.1.6 start.S 代码学习<转>

    ---转自 http://blog.csdn.net/rockhard/article/details/4166642 ------ /* 参考了别人的一些笔记,看完了启动代码. 本文档记录在看代码时 ...

  10. mysql查看数据库大小

    要想知道每个数据库的大小的话,步骤如下: 1.进入information_schema 数据库(存放了其他的数据库的信息) use information_schema; 2.查询所有数据的大小: s ...