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 路由器单播IP包转发

  2. php页面最大执行时间 set_time_limit函数不起作用

      作者: default|标签:PHP set_time_limit 执行时间|2017-3-21 15:03   set_time_limit 不生效或者无效解决方法 <?php globa ...

  3. HTML5 meta 属性整理

    <!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> <html lang="zh-cmn-Hans"&g ...

  4. Python--day30--网络基础

    单波: 查找mac:

  5. ArrayList中remove方法和set(null)的区别

    在分析源码ArrayList.remove()时,偶然发现了一个疑惑的点,就是:源码也是将最后一个对象的引用指向null(源码:elementData[--size] = null; // clear ...

  6. Python 数据类型,常用函数方法分类

    Python基本数据类型:(int) 字符串(str)列表(list)元组(tuple)字典(dict)布尔(bool) python中可以简单使用 类型(数据)创建或转换数据 例: #字符串转数字 ...

  7. 2019-11-6-Roslyn-how-to-use-WriteLinesToFile-to-write-the-semicolons-to-file

    title author date CreateTime categories Roslyn how to use WriteLinesToFile to write the semicolons t ...

  8. jQuery 选择器 bug

    $(function(){ $(".menu li").hide(); //目标对象(一定要用class或id选择器)绑定函数 $(".menu").click ...

  9. java 实现类似spring的可配置的AOP框架

    一.工厂类BeanFactory: 1.工厂类BeanFactory负责创建目标类或代理类的实例对象,并通过配置文件实现切换. 2.getBean方法根据参数字符串返回一个相应的实例对象,如果参数字符 ...

  10. P1018 灵灵排数字

    题目描述 今天灵灵收到了n张卡片,他需要给他们从小到大排序. 输入格式 输入的第一行包含一个整数 \(n(1 \le n \le 10^5)\) . 输入的第二行包含 \(n\) 个正整数,以空格间隔 ...