Codeforces Beta Round #22 (Div. 2 Only)-B. Bargaining Table
来源:互联网 发布:人人贷网络p2p借贷 编辑:程序博客网 时间:2024/05/29 19:16
原题链接
用dp[i][j]表示左上角为(1, 1)右下角为(i,j)的矩形里有多少个1, dp[i][j] = dp[i-1][j] + dp[i][j-1] + dp[i-1][j-1];如果(i,j)本身是1则dp[i][j]++;
遍历每个点(i,j)如果str[i][j] == '0'则把(i,j)表示矩阵的右下角枚举矩阵的左下角(i, h1)和右上角(h2, j)首先判断这个矩阵内1的数目 = dp[i][j] - dp[i][h1-1] - dp[h2-1][j] + dp[h2-1][h1-1], 如果矩阵内没有1则可算矩阵的周长
#include <bits/stdc++.h>#define maxn 200005using namespace std;typedef long long ll;char str[30][30];int dp[30][30];int main(){//freopen("in.txt", "r", stdin);int n, m; scanf("%d%d", &n, &m); for(int i = 1; i <= n; i++) scanf("%s", str[i]+1); for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++){ if(str[i][j] == '1') dp[i][j] = 1; dp[i][j] += dp[i-1][j] + dp[i][j-1] - dp[i-1][j-1]; }int ans = 0;for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++){ if(str[i][j] == '1') continue; for(int h1 = i-1; h1 >= 0; h1--){ for(int h2 = j-1; h2 >= 0; h2--){ int d = dp[i][j] - dp[h1][j] - dp[i][h2] + dp[h1][h2]; if(d == 0){ ans = max(ans, 2 * (i - h1 + j - h2));}if(str[i][h2] == '1') break;}if(str[h1][j] == '1') break; } } printf("%d\n", ans); return 0;}
0 0
- Codeforces Beta Round #22 (Div. 2 Only)-B. Bargaining Table
- Codeforces Beta Round #86 (Div. 2 Only) B PFAST Inc.
- Codeforces Beta Round #93 (Div. 2 Only)——B
- Codeforces Beta Round #91 (Div. 2 Only)——B
- Codeforces Beta Round #18 (Div. 2 Only)——B
- Codeforces Beta Round #92 (Div. 2 Only) B. Permutations
- Codeforces Beta Round #9 (Div. 2 Only):B
- Codeforces 22B Bargaining Table
- Codeforces Beta Round #80 (Div. 2 Only)
- Codeforces Beta Round #83 (Div. 2 Only)
- Codeforces Beta Round #86 (Div. 2 Only)
- Codeforces Beta Round #93 (Div. 2 Only)
- Codeforces Beta Round #4 (Div. 2 Only)
- Codeforces Beta Round #6 (Div. 2 Only)
- Codeforces Beta Round #9 (Div. 2 Only)
- Codeforces Beta Round #4 (Div. 2 Only)
- Codeforces Beta Round #4 (Div. 2 Only)
- Codeforces Beta Round #6 (Div. 2 Only)
- Handler
- Android自定义View-TitleBar(标题栏)详细说明
- bzoj[JLOI2011]飞行路线
- 3.PN结
- CreateJS框架初探
- Codeforces Beta Round #22 (Div. 2 Only)-B. Bargaining Table
- 025.自定义View中应用贝塞尔曲线
- forward的细节(2)
- bochs安装(ubuntu)
- Xamarin.iOS调试提示需要iOS SDK
- X264码率控制总结1——ABR,CQP,CRF
- jquery easyui datagrid 加载已有得数据翻页 rownumber不变的解决办法
- robotframework安装appium
- CentOS6.4下编译caffe深度学习框架实践!!!