Codeforces 375B Maximum Submatrix 2 (DP)】的更多相关文章

<题目链接> 题目大意:给出一个01矩阵,行与行之间可以互换位置,问能够得到最大的全1矩阵的面积. #include <bits/stdc++.h> using namespace std; ; int n,m; int dp[N][N]; char mpa[N][N]; int main(){ while(~scanf("%d%d",&n,&m)){ ;i<=n;i++)scanf(); memset(dp,,sizeof(dp)); ;…
B. Maximum Submatrix 2 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/problem/375/B Description You are given a matrix consisting of digits zero and one, its size is n × m. You are allowed to rearrange its rows. What is…
B. Maximum Submatrix 2 time limit per test 2 seconds memory limit per test 512 megabytes input standard input output standard output You are given a matrix consisting of digits zero and one, its size is n × m. You are allowed to rearrange its rows. W…
DP的学习计划,刷 https://codeforces.com/problemset?order=BY_RATING_ASC&tags=dp 遇到了这道题 https://codeforces.com/problemset/problem/702/A 以为是最长上升子序列(Longest Increasomg Subsequence)的模板题,发现自己不会做 记录一下大概的思路: \(O(n^2)\) 的算法: \(L[i]\) 选择 \(A[i]\) 为结尾的LIS的长度 \(P[i]\)…
我们定义dp[ i ]表示长度为 i 的序列, 最后没有一个==k的时候返回的方案数, 也就是最后强制返回 i 的方案数. 我们能得到dp方程   dp[ i ] = sum(dp[ i - j - 1 ] * comb(i - 1,  j) * F[ j ])  0 <= j <= k - 1, 然后会发现这个东西不好转移, 我们可以把comb(i - 1,  j) * F[ j ] 这个东西合并一下变成 F(i - 1) / F(i - 1 - j) 然后就变成   dp[ i ] = F…
题目链接:http://codeforces.com/problemset/problem/332/B 题目大意:给你n个数和一个整数k,要求找到不相交的两个长度为k的区间,使得区间和最大,输出这两个区间的起点.解题思路:先计算前缀和,然后预处理出maxsum[i],maxsum[i]记录i~n最大的长度为k子段的和.然后再去枚举即可. #include<cstdio> #include<iostream> #include<algorithm> #include<…
题目链接  Maximum Element 题意  现在有这一段求序列中最大值的程度片段: (假定序列是一个1-n的排列) int fast_max(int n, int a[]) { int ans = 0; int offset = 0; for (int i = 0; i < n; ++i) if (ans < a[i]) { ans = a[i]; offset = 0; } else { offset = offset + 1; if (offset == k) return ans…
相关题型 问题一(最大和子矩阵) : 有一个 m x n 的矩阵,矩阵的元素可正可负.请找出该矩阵的一个子矩阵(方块),使得其所有元素之和在所有子矩阵中最大.(问题来源:http://acm.pku.edu.cn/JudgeOnline/problem?id=1050) 问题二( 最大 0/1 方块) :有一个 m x n 的矩阵,元素为 0 或 1.一个子矩阵,如果它所有的元素都是 0, 或者都是 1,则称其为一个 0-聚类 或 1-聚类,统称聚类(Cluster).请找出最大的聚类(元素最多…
codeforces 407D Largest Submatrix 3 题意 找出最大子矩阵,须满足矩阵内的元素互不相等. 题解 官方做法 http://codeforces.com/blog/entry/11333 \(O(n^6)\) 枚举子矩阵,暴力check. \(O(n^4)\) 枚举上下边界,双指针. \(O(n^3log_2n)\) 假设当前上边界 \(up\), 下边界 \(down\),\(R_i\) 表示当 \(i\) 为左边界时,右边界最大是 \(R_i\). 当 \(do…
题目链接:Codeforces 484B Maximum Value 题目大意:给定一个序列,找到连个数ai和aj,ai%aj尽量大,而且ai≥aj 解题思路:类似于素数筛选法的方式,每次枚举aj,然后枚举k,每次用二分找到小于k∗aj而且最大的ai,维护答案,过程中加了一些剪枝. #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn =…