F.Partition problem

传送门

题意:有2n个人,分两组,每组n个,要求sum(vij)最大值。

题解:n并不大我们可以枚举每个人是在1组还是2组爆搜。

代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = + ;
int n,a[N],b[N];
ll v[N][N],ans = ,cnt1=,cnt2=;
void dfs(int x,ll sum) {
if (cnt1>n||cnt2>n) return;
if (cnt1==n&&cnt2==n) {
ans = max(ans,sum);
return;
}
if (cnt1 < n) {
a[++cnt1] = x;
for (int i = ; i <= cnt2; i++)
sum += v[x][b[i]];
dfs(x+,sum);
for (int i = ; i <= cnt2; i++)
sum -= v[x][b[i]];
cnt1--;
}
if (cnt2 < n) {
b[++cnt2] = x;
for (int i = ; i <= cnt1; i++)
sum += v[x][a[i]];
dfs(x+,sum);
for (int i = ; i <= cnt1; i++)
sum -= v[x][a[i]];
cnt2--;
}
}
int main() {
scanf("%d",&n);
for (int i = ; i <= *n; i++)
for (int j = ; j <= *n; j++)
scanf("%lld",&v[i][j]);
dfs(,);
printf("%lld\n", ans);
return ;
}

H.Second Large Rectangle

传送门

题意:给你一个n*m的01矩阵,问全为1的第二大的矩阵大小。

题解:这题相当于从第1行到第n行,以当前行为底求直方图的第二大面积。我们知道怎么求直方图的最大面积(不知道的点这里)。我们可以用单调栈来做。不过要注意第二大不一定是用求最大的方法找到的第二大,也可能是最大的减去一行或者一列的大小。(因为没注意到这个WA了)。

代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e3 + ;
char s[N];
int dp[N][N];
int main() {
int n,m;
scanf("%d%d",&n,&m);
int max1 = ,max2 = ,area;
for (int i = ; i <= n; i++) {
scanf("%s",s);
stack<int> v;
for (int j = ;j <= m; j++) {
if(j == m) dp[i][j] = -;
else {
dp[i][j] = s[j]==''?:;
dp[i][j] += dp[i][j]*dp[i-][j];
}
if (v.empty() || dp[i][j] > dp[i][v.top()])
v.push(j);
else {
int now = v.top();
v.pop();
if (v.empty()) area = j * dp[i][now];
else area = (j - v.top() - ) * dp[i][now];
if(area > max1) {
max2 = max1;
max1 = area;
//注意这里
if (v.empty())
max2 = max(max2,max(area - dp[i][now],area-j));
else max2 = max(max2,max(area - dp[i][now],area-(j - v.top() - )));
}else if (area > max2) max2 = area;
j--;
}
}
}
printf("%d\n", max2);
return ;
}

2019牛客暑期多校第二场题解FH的更多相关文章

  1. 2019 牛客暑期多校 第二场 H Second Large Rectangle (单调栈)

    题目:https://ac.nowcoder.com/acm/contest/882/H 题意:一个大的01矩阵,然后现在要求第二大的全一矩阵是多少 思路:在这里我们首先学习一下另一个东西,怎么求直方 ...

  2. 2019牛客暑期多校第一场题解ABCEFHJ

    A.Equivalent Prefixes 传送门 题意:给你两个数组,求从第一个元素开始到第p个元素 满足任意区间值最小的元素下标相同的 p的最大值. 题解:我们可以从左往右记录到i为止每个区间的最 ...

  3. 2019 牛客暑期多校 第一场 H XOR (线性基)

    题目:https://ac.nowcoder.com/acm/contest/881/H 题意:求一个集合内所有子集异或和为0的长度之和 思路:首先集合内异或和,这是线性基的一个明显标志,然后我们不管 ...

  4. 【2019牛客暑期多校第一场】E题ABBA

    题目链接 大致题意 有(n+m)(n + m)(n+m)个字母A和(n+m)(n + m)(n+m)个字母B,组成一个长度为 2∗(n+m)2*(n + m)2∗(n+m)的字符串,并且使得字符串中有 ...

  5. 2019牛客暑期多校训练营(第五场)G - subsequeue 1 (一题我真的不会的题)

    layout: post title: 2019牛客暑期多校训练营(第五场)G - subsequeue 1 (一题我真的不会的题) author: "luowentaoaa" c ...

  6. 2019牛客暑期多校训练营(第二场)F.Partition problem

    链接:https://ac.nowcoder.com/acm/contest/882/F来源:牛客网 Given 2N people, you need to assign each of them ...

  7. 2019牛客暑期多校训练营(第八场)-A All-one Matrices (单调栈+前缀和)

    题目链接:https://ac.nowcoder.com/acm/contest/888/A 题意:给n×m的01矩阵,求出其中全为1的矩阵个数(不被其它全1矩阵包括). 思路:和第二场多校的次大子矩 ...

  8. 2019牛客暑期多校训练营(第一场)A Equivalent Prefixes(单调栈/二分+分治)

    链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 Two arrays u and v each with m distinct elements ...

  9. 2019牛客暑期多校训练营(第九场)A:Power of Fibonacci(斐波拉契幂次和)

    题意:求Σfi^m%p. zoj上p是1e9+7,牛客是1e9:  对于这两个,分别有不同的做法. 前者利用公式,公式里面有sqrt(5),我们只需要二次剩余求即可.     后者mod=1e9,5才 ...

随机推荐

  1. H3C 广域网连接方式

  2. 详解ThinkPHP支持的URL模式有四种普通模式、PATHINFO、REWRITE和兼容模式

    URL模式     URL_MODEL设置 普通模式    0 PATHINFO模式     1 REWRITE模式     2 兼容模式     3 如果你整个应用下面的模块都是采用统一的URL模式 ...

  3. [转]安卓加固之so文件加固

    一.前言 最近在学习安卓加固方面的知识,看到了jiangwei212的博客,其中有对so文件加固的两篇文章通过节加密函数和通过hash段找到函数地址直接加密函数,感觉写的特别好,然后自己动手实践探索s ...

  4. springboot jpa 解决延迟加载问题

    在springboot中,在application.properties的配置文件中新增spring.jpa.open-in-view=true方法失效,经过测试,有两种解决办法: 1.在applic ...

  5. js(三) ajax异步局部刷新技术底层代码实现

    ajax 异步 javaScript and xml 开发五步骤: 1. 创建对象 XMLHttpRequest(chrome,firefox) ie... jquery 2. 找到连接, http的 ...

  6. 关于Ping和Tracert命令原理详解

    本文只是总结了两个常用的网络命令的实现原理和一点使用经验说明.这些东西通常都分布在各种书籍或者文章中的,我勤快那么一点点,总结一下,再加上我的一点理解和使用经验,方便大家了解.这些也是很基础的东西,没 ...

  7. 解决:javac: 无效的目标发行版: 1.8

    原 解决:javac: 无效的目标发行版: 1.8 2017年06月14日 16:21:12 代码也文艺 阅读数 44795 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...

  8. 用nodejs创建服务器显示html页面

    nodejs版本:v10.14.2 1.首先准备一个简单的html页面 <!DOCTYPE html> <html lang="en"> <head& ...

  9. Vue学习笔记-目录结构

    1.采用脚手架构建的项目基本目录结构 可能会有些许差别,但是大致基本目录都差不多 2.项目入口(index.html,main.js,App.vue) 一般情况下,我们都习惯性将 index.html ...

  10. 用mingw静态编译Qt4.8.2和Qt5.1.1(需要修改不少源码)

    因为一些乱七八糟的原因,我需要用mingw静态编译Qt4.8.2和Qt5.1.1.经历了一天的折腾之后,自觉编译一下Qt还是件颇为麻烦的事情,故将过程略作总结,以备不时之需. 首先,在编译之前,我需要 ...