[cf1219G]Harvester
分类讨论(以下仅考虑行,列的情况):
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的更多相关文章
- ★Kali信息收集~ 5.The Harvester:邮箱挖掘器
官网:http://www.edge-security.com 安装:apt-get install theHarvester 运行:终端输入 theharvester (小写) 用法+参数:(返回邮 ...
- 逆天Kali带你游遍大江南北~安全之前人铺路!
0.Linux基础学习(基本指令) http://www.cnblogs.com/dunitian/p/4822807.html 1.Kali安装到移动硬盘或者U盘中~Linux系列通用方法(包括An ...
- ★Kali信息收集★8.Nmap :端口扫描
★Kali信息收集~ 0.Httrack 网站复制机 http://www.cnblogs.com/dunitian/p/5061954.html ★Kali信息收集~ 1.Google Hackin ...
- 安装 log.io 实时监控 php_error 日志
Log.io 实时监控 php_error.log 日志 开启 php_error 实时监控日志的第一步,要首先开启 php_error 的功能. vi php.ini 修改 PHP 配置文件,将 ; ...
- Kali信息收集系列:(都是我以前的笔记整理了一下,就没加水印,习惯就好)
好几天没发微信公众号了,今天一起发下.(最近有点事情) 前些天老业界的一位朋友问我一些Safe新时代信息收集的问题 逆天虽然好多年不干老本行,但隔段时间都会关注一下 于是就花了点时间整理了一下,你们就 ...
- [爬虫资源]各大爬虫资源大汇总,做我们自己的awesome系列
大数据的流行一定程序导致的爬虫的流行,有些企业和公司本身不生产数据,那就只能从网上爬取数据,笔者关注相关的内容有一定的时间,也写过很多关于爬虫的系列,现在收集好的框架希望能为对爬虫有兴趣的人,或者 ...
- kali linux 渗透测试视频教程 第五课 社会工程学工具集
第五课 社会工程学工具集 文/玄魂 教程地址:http://edu.51cto.com/course/course_id-1887.html 目录 第五课社会工程学工具集 SET SET的社会工程 ...
- backtrack5渗透 笔记
目录 1.信息收集 2.扫描工具 3.漏洞发现 4.社会工程学工具 5.运用层攻击msf 6.局域网攻击 ...
- NodeJS无所不能:细数10个令人惊讶的NodeJS开源项目
在几年的时间里,NodeJS逐渐发展成一个成熟的开发平台,吸引了许多开发者.有许多大型高流量网站都采用NodeJS进行开发,像PayPal,此外,开发人员还可以使用它来开发一些快速移动Web框架. 除 ...
随机推荐
- 写学习abcde的简单AI(C++实现)
#include <iostream> #include <time.h> #include <stdlib.h> #include <cmath> u ...
- 4.7 80--删除排序数组中的重复项 II
因为python的list可以直接del List[index],因此直接使用了暴力方法,判断是否重复了两次,是的话直接使用del. 在转向使用Java时,因为暴力方法的局限,一直在找怎样对Java的 ...
- Git: 搭建一个本地私人仓库
Git: 搭建一个本地私人仓库 寝室放个电脑.实验室也有个电脑 为进行数据同步,充分利用实验室的服务器搭建了个本地私人仓库 1. 安装流程 当然首先保证服务器上与PC机上都已经安装了可用的Git 在P ...
- 【二食堂】Beta - 项目展示
项目展示 1. 团队介绍 二食堂很难排队 姓名 介绍 职务 刘享 热爱游戏,尤其是RPG和metrovinia类的游戏. 会C/C++, python, java. 后端 左正 一个普通的大学生,Py ...
- 航胥:北航教务助手——Alpha阶段发布声明
本软件项目为北京航空航天大学2020年"软件工程"课程项目 v1.0.5版本下载地址:https://bhpan.buaa.edu.cn:443/#/link/D10B71B69E ...
- [敏捷软工团队博客]项目介绍 & 需求分析 & 发布预测
项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 团队项目选择 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 了解项目整体情况 ...
- 并发编程从零开始(六)-BlockingDeque+CopyOnWrite
并发编程从零开始(六)-BlockingDeque+CopyOnWrite 5.2 BlockingDeque BlockingDeque定义了一个阻塞的双端队列接口: 该接口继承了BlockingQ ...
- 种类并查集(维护敌人的敌人是朋友)、并行-poj1182-食物链 笔记
题意 输入若干组数据,代表着不同动物在食物链的位置(A,B,C),要求出在输入的过程中有多少组数据会与之前矛盾. 思路(借鉴挑战程序设计竞赛) 这题是学并查集时的题,所以用了并查集. 一开始我想的是, ...
- Qt char * 转QString
1.QString转char * 先将QString转换为QByteArray,再将QByteArray转换为char *. 注意:不能用char *mm = str.toLatin1().data( ...
- 最短路spaf及dijkstra模板
spaf的双端队列优化: #include<bits/stdc++.h> #define ll long long const ll maxn=210000; using namespac ...