在大矩形中找一个小矩形

使小矩形包括的*最多

暴力或者DP  水题

暴力:

#include "stdio.h"
#include "string.h"
int main()
{
int n,m,w,i,s,t,j,k,l,ans,sum,x,y;
int map[101][101];
while (scanf("%d",&w)!=EOF)
{
if(w==0) break;
scanf("%d%d",&n,&m);
memset(map,0,sizeof(map));
while (w--)
{
scanf("%d%d",&x,&y);
map[x][y]=1;
}
scanf("%d%d",&s,&t);
ans=0;
for (i=1;i<=n-s+1;i++)
for (j=1;j<=m-t+1;j++)
{
sum=0;
for (l=0;l<s;l++)
for (k=0;k<t;k++)
sum+=map[i+l][j+k];
if (sum>ans) ans=sum;
}
printf("%d\n",ans); }
return 0;
}

DP:

#include "stdio.h"
#include "string.h"
int Max(int a,int b)
{
if (a<b) return b; else return a;
}
int main()
{
int n,m,w,i,s,t,j,ans,x,y;
int sum[101][101],map[101][101];
while (scanf("%d",&w)!=EOF)
{
if(w==0) break;
scanf("%d%d",&n,&m);
memset(map,0,sizeof(map));
while (w--)
{
scanf("%d%d",&x,&y);
map[x][y]=1;
}
scanf("%d%d",&s,&t);
memset(sum,0,sizeof(sum)); for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+map[i][j]; ans=0;
for (i=s;i<=n;i++)
for (j=t;j<=m;j++)
{
ans=Max(ans,sum[i][j]-sum[i-s][j]-sum[i][j-t]+sum[i-s][j-t]);
}
printf("%d\n",ans); }
return 0;
}

POJ 2029 DP || 暴力的更多相关文章

  1. poj 2029 Get Many Persimmon Trees 各种解法都有,其实就是瞎搞不算吧是dp

    连接:http://poj.org/problem?id=2029 题意:给你一个map,然后在上面种树,问你h*w的矩形上最多有几棵树~这题直接搜就可以.不能算是DP 用树状数组也可作. #incl ...

  2. (简单) POJ 2029 Get Many Persimmon Trees,暴力。

    Description Seiji Hayashi had been a professor of the Nisshinkan Samurai School in the domain of Aiz ...

  3. POJ 2029 Get Many Persimmon Trees(DP||二维树状数组)

    题目链接 题意 : 给你每个柿子树的位置,给你已知长宽的矩形,让这个矩形包含最多的柿子树.输出数目 思路 :数据不是很大,暴力一下就行,也可以用二维树状数组来做. #include <stdio ...

  4. poj 2029 Get Many Persimmon Trees (dp)

    题目链接 又是一道完全自己想出来的dp题. 题意:一个w*h的图中,有n个点,给一个s*t的圈,求这个圈能 圈的最多的点 分析:d[i][j]代表i行j列 到第一行第一列的这个方框内有多少个点, 然后 ...

  5. 简单DP+暴力 POJ 1050

    To the Max Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 45915   Accepted: 24282 Desc ...

  6. AtCoder - agc043_a 和 POJ - 2336 dp

    题意: 给你一个n行m列由'#'和'.'构成的矩阵,你需要从(1,1)点走到(n,m)点,你每次只能向右或者向下走,且只能走'.'的位置. 你可以执行操作改变矩阵: 你可以选取两个点,r0,c0;r1 ...

  7. hdu 1513 && 1159 poj Palindrome (dp, 滚动数组, LCS)

    题目 以前做过的一道题, 今天又加了一种方法 整理了一下..... 题意:给出一个字符串,问要将这个字符串变成回文串要添加最少几个字符. 方法一: 将该字符串与其反转求一次LCS,然后所求就是n减去 ...

  8. poj 1080 dp如同LCS问题

    题目链接:http://poj.org/problem?id=1080 #include<cstdio> #include<cstring> #include<algor ...

  9. poj 1609 dp

    题目链接:http://poj.org/problem?id=1609 #include <cstdio> #include <cstring> #include <io ...

随机推荐

  1. Opencv关于滑动条bar操作的实例

    代码如下: //////////////////////////////////////////////////////////////////////// // // 该程序产生一个窗口10s 如果 ...

  2. linux之SQL语句简明教程---WHERE

    我们并不一定每一次都要将表格内的资料都完全抓出.在许多时候,我们会需要选择性地抓资料.就我们的例子来说,我们可能只要抓出营业额超过 $1,000 的资料.要做到这一点,我们就需要用到 WHERE 这个 ...

  3. poj 1328 Radar Installation_贪心

    翻出一年多前的代码看,发现以前的代码风格很糟糕 题意:给你n个点 m为圆的半径,问需要多少个圆能把全部点圈到 #include <iostream> #include <algori ...

  4. [置顶] 获取系统时间的方法--linux

    一. localtime 函数获取(年/月/日/时/分/秒)数值. 1.感性认识 #include<time.h>     //C语言的头文件 #include<stdio.h> ...

  5. 将常见对象转换成json字符串

    public class JsonUtil { public static String objectTojson(Object obj) { StringBuilder json = new Str ...

  6. Unity FixedUpdate 与 Update 的线程关系实验

    先上结论:FixedUpdate 与 Update 在同一个线程上. 实验过程: 1.打印 FixedUpdate 和 Update 的线程编号 void FixedUpdate () { Debug ...

  7. hdu 2571 命运(dp)

    Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了! 可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个 ...

  8. OS Kernel Parameter.semopm

    安装Oracle11g内核参数semopm未校验通过,点击Fix&Check Again后,会提示执行修改脚本,在/tmp/CVU_11.2.0.1.0_oracle下,找到并执行该脚本run ...

  9. C#实现MD5字符串加密

    public string Md5Encrypt(string str, string str2) { byte[] result = Encoding.Default.GetBytes((str+s ...

  10. C# 获取本机IP地址以及转换字符串

    /// <summary> /// IP地址转化 /// </summary> /// <param name="ipaddr">整型的IP地址 ...