hdu4331 Image Recognition 就暴力啊。。啊。。
题意:
给一个1和0组成的正方形矩阵,求 四条边都由1构成的正方形的个数。
方法:
先统计矩阵中每一点,向四个方向,最多有多少个连续的1,这里用dp做也
与此同时,顺便求下 能向右下和 左上 两个方向 形成的最大的正方形的边长 (就是里面的d1[][] d2[][])
为什么朝这俩方向呢,这样方便统计最长的连续的1啊,四个方向一起好像不行啊
然后枚举边长,就没了
比赛时候看错题目,以为要实心的哎
这次题都很考思维啊,都不知道分到什么类了
这些解题方法都很明了简洁,遇到一个记住一个 恩
- #include<iostream>
- #include<cmath>
- #include<cstdio>
- #include<vector>
- #include<cstring>
- #include<algorithm>
- using namespace std;
- int t,T,ans,s[1005][1005],n;
- int d1[1005][1005],d2[1005][1005],dt[1005][1005],dd[1005][1005],dl[1005][1005],dr[1005][1005];
- //dt(top) dd(down) dl(left) dr(right)表示该点向四个方向最长有几个1
- //d1表示该点向右下对角线的最长边长(即该点向下和向右短的那条边) d2表示向左上
- int main()
- {
- int i,j,k;
- scanf("%d",&T);
- t=0;
- while(T--)
- {
- ans=0;
- t++;
- scanf("%d",&n);
- for(i=0;i<n;i++)
- for(j=0;j<n;j++)
- {
- scanf("%d",&s[i][j]);
- if(s[i][j]) ans++;
- }
- memset(dt,0,sizeof dt);
- memset(dd,0,sizeof dd);
- memset(dr,0,sizeof dr);
- memset(dl,0,sizeof dl);
- for(i=0;i<n;i++)//右下方向
- {
- for(j=0;j<n;j++)
- {
- if(s[i][j])
- {
- dd[i][j]=dd[i-1][j]+1;
- dr[i][j]=dr[i][j-1]+1;
- }
- d1[i][j]=min(dd[i][j],dr[i][j]);
- }
- }
- for(i=n-1;i>=0;i--)//左上方向
- {
- for(j=n-1;j>=0;j--)
- {
- if(s[i][j])
- {
- dt[i][j]=dt[i+1][j]+1;
- dl[i][j]=dl[i][j+1]+1;
- }
- d2[i][j]=min(dt[i][j],dl[i][j]);
- }
- }
- for(i=0;i<n;i++)
- {
- for(j=0;j<n;j++)
- {
- for(k=2;k<=d2[i][j];k++)//枚举边长
- {
- if(k<=d1[i+k-1][j+k-1])
- ans++;
- }
- }
- }
- printf("Case %d: %d\n",t,ans);
- }
- return 0;
- }
hdu4331 Image Recognition 就暴力啊。。啊。。的更多相关文章
- face recognition[Euclidean-distance-based loss][FaceNet]
本文来自<FaceNet: A Unified Embedding for Face Recognition and Clustering>.时间线为2015年6月.是谷歌的作品. 0 引 ...
- Programming Assignment 3: Pattern Recognition
编程作业三 作业链接:Pattern Recognition & Checklist 我的代码:BruteCollinearPoints.java & FastCollinearPoi ...
- 无需看到你的脸就能认出你——实现Beyond Frontal Faces: Improving Person Recognition Using Multiple Cues
今年年初Facebook AI Research发布了一篇名为Beyond Frontal Faces: Improving Person Recognition Using Multiple Cue ...
- Algorithms : Programming Assignment 3: Pattern Recognition
Programming Assignment 3: Pattern Recognition 1.题目重述 原题目:Programming Assignment 3: Pattern Recogniti ...
- zone.js - 暴力之美
在ng2的开发过程中,Angular团队为我们带来了一个新的库 – zone.js.zone.js的设计灵感来源于Dart语言,它描述JavaScript执行过程的上下文,可以在异步任务之间进行持久性 ...
- [bzoj3123][sdoi2013森林] (树上主席树+lca+并查集启发式合并+暴力重构森林)
Description Input 第一行包含一个正整数testcase,表示当前测试数据的测试点编号.保证1≤testcase≤20. 第二行包含三个整数N,M,T,分别表示节点数.初始边数.操作数 ...
- HDU 5944 Fxx and string(暴力/枚举)
传送门 Fxx and string Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Othe ...
- 1250 Super Fast Fourier Transform(湘潭邀请赛 暴力 思维)
湘潭邀请赛的一题,名字叫"超级FFT"最终暴力就行,还是思维不够灵活,要吸取教训. 由于每组数据总量只有1e5这个级别,和不超过1e6,故先预处理再暴力即可. #include&l ...
- fragment+viepager 的简单暴力的切换方式
这里是自定义了一个方法来获取viewpager private static ViewPager viewPager; public static ViewPager getMyViewPager() ...
随机推荐
- Unix/Linux环境C编程入门教程(35) 编程管理系统中的组
组管理相关函数介绍 相关函数 getgid,setgid,setregid 表头文件 #include<unistd.h> #include<sys/types.h> 定 ...
- 【转】 linux内核移植和驱动添加(三)
原文网址:http://blog.chinaunix.net/uid-29589379-id-4708909.html 原文地址:linux内核移植和驱动添加(三) 作者:genehang 四,LED ...
- Word Amalgamation
Problem Description In millions of newspapers across the United States there is a word game called J ...
- Android 内部存储相关的函数(getCacheDir,getDir, getFileStreamPath,getFilesDir,openFileInput, ...)
为了保证应用程序存储数据的安全性,开发人员在开发应用程序的过程中须要注意使用Android 应用程序的内部存储空间. 依据不同的要求.将相应的数据文件.缓存文件.暂时文件等分别存储在相应的位置. 注意 ...
- CSS基础要点概况
1.CSS概述 1)css指层叠样式表 2)样式定义如何显示HTML元素 3)样式通常存储在样式表中 4)把样式添加到HTML4.0中,是为了解决内容与表现分离的问题 5)外部样式表可以极大提高工作效 ...
- python 使用 tweepy 案例: PS4
First, make sure Python and Tweepy installed well, and the network setup well. Then, you go to http: ...
- PHP学习笔记十四【面向对象】
<?php class Cat{ public $name; public $age; public $color; } //创建一个对象 $cat1=new Cat(); $cat1-> ...
- 通过递归方法对一个单词所有的组合进行列举(java)
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public ...
- HDU 5768 - Lucky7
题意: 给出x, y, m[1...n], a[1..n]. 在[x,y]中寻找 p % 7 = 0 且对任意(1<= i <=n) p % m[i] != a[i] 的数字的个数 ...
- HDU 1065 - I Think I Need a Houseboat
又是恶心人的水题 圆周率取3.1415926就啥事没有.. #include <iostream> #include <cstdio> #include <cmath&g ...