2019牛客暑期多校第二场题解FH
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的更多相关文章
- 2019 牛客暑期多校 第二场 H Second Large Rectangle (单调栈)
题目:https://ac.nowcoder.com/acm/contest/882/H 题意:一个大的01矩阵,然后现在要求第二大的全一矩阵是多少 思路:在这里我们首先学习一下另一个东西,怎么求直方 ...
- 2019牛客暑期多校第一场题解ABCEFHJ
A.Equivalent Prefixes 传送门 题意:给你两个数组,求从第一个元素开始到第p个元素 满足任意区间值最小的元素下标相同的 p的最大值. 题解:我们可以从左往右记录到i为止每个区间的最 ...
- 2019 牛客暑期多校 第一场 H XOR (线性基)
题目:https://ac.nowcoder.com/acm/contest/881/H 题意:求一个集合内所有子集异或和为0的长度之和 思路:首先集合内异或和,这是线性基的一个明显标志,然后我们不管 ...
- 【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)的字符串,并且使得字符串中有 ...
- 2019牛客暑期多校训练营(第五场)G - subsequeue 1 (一题我真的不会的题)
layout: post title: 2019牛客暑期多校训练营(第五场)G - subsequeue 1 (一题我真的不会的题) author: "luowentaoaa" c ...
- 2019牛客暑期多校训练营(第二场)F.Partition problem
链接:https://ac.nowcoder.com/acm/contest/882/F来源:牛客网 Given 2N people, you need to assign each of them ...
- 2019牛客暑期多校训练营(第八场)-A All-one Matrices (单调栈+前缀和)
题目链接:https://ac.nowcoder.com/acm/contest/888/A 题意:给n×m的01矩阵,求出其中全为1的矩阵个数(不被其它全1矩阵包括). 思路:和第二场多校的次大子矩 ...
- 2019牛客暑期多校训练营(第一场)A Equivalent Prefixes(单调栈/二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 Two arrays u and v each with m distinct elements ...
- 2019牛客暑期多校训练营(第九场)A:Power of Fibonacci(斐波拉契幂次和)
题意:求Σfi^m%p. zoj上p是1e9+7,牛客是1e9: 对于这两个,分别有不同的做法. 前者利用公式,公式里面有sqrt(5),我们只需要二次剩余求即可. 后者mod=1e9,5才 ...
随机推荐
- poj 3335 Rotating Scoreboard (Half Plane Intersection)
3335 -- Rotating Scoreboard 给出一个多边形,要求判断它的内核是否存在. 还是半平面交的题,在这道题中,公告板允许其所在位置与直线共线也算是可见,于是我们就可以将每一条直线微 ...
- SSM项目整合第一步 注册登陆实现
SSM项目整合第一步 注册: 项目目录: 一.数据库建表: 源码: ; -- ---------------------------- -- Table structure for t_user - ...
- tp5 select出来数据集(对象)转成数组
1.先在数据库配置文件中 //数据集返回类型 'resultset_type' => 'collection', 2.在使用时, 使用 toArray() 方法 //查询数据库 $news = ...
- [转]vue - 前置工作 - 目录功能介绍
一个DEMOS的完整目录(由于GWF问题,我就不一一打开网站一个个去搜索并且解释了)可以去关注:https://www.cnblogs.com/ye-hcj build build.js(本文来自ht ...
- P1093 铺地毯
题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 \(n\) 张地毯,编号从 \(1\) 到 \(n\) .现在将这些地毯按 ...
- java 注解(Annotation)
注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,则等于没有某种标记. 以后,javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就 ...
- Git的使用--如何将本地项目上传到Github(两种简单、方便的方法..)
https://blog.csdn.net/u014135752/article/details/79951802 总结:其实只需要进行下面几步就能把本地项目上传到Github 1.在本地创建一个版本 ...
- vue在html中写动态背景图片
<div class="img" :style="`background: url(`+item.img+'?any_string_is_ok'+`)center ...
- POJ 1797 Heavy Transportation(Dijkstra运用)
Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter project he can no ...
- H3C配置设备的FTP服务