在大矩形中找一个小矩形

使小矩形包括的*最多

暴力或者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. psacct监视用户执行的命令,如cpu时间和内存战胜,实时进程记账

    psacct监视用户执行的命令,如cpu时间和内存战胜,实时进程记账

  2. 2015第6周三ztree的使用

    今天第一次真正在开发中使用了ztree组件,在实践过程体会了从生到熟的乐趣,从开始看不太懂ztree的api到后面熟悉理解其API布局,学习其中的各demo,感觉很不错,简单记录下使用ztree的经验 ...

  3. 【FSFA 读书笔记】Ch 2 Computer Foundatinons(2)

    Hard Disk Technology 1. 机械硬盘内部构造 几个重要概念:Sector(扇区),Head(读写头),Track(磁道),Cylinder(柱面). 如果一个文件比较大,磁盘的写入 ...

  4. 【POJ 1182 食物链】并查集

    此题按照<挑战程序设计竞赛(第2版)>P89的解法,不容易想到,但想清楚了代码还是比较直观的. 并查集模板(包含了记录高度的rank数组和查询时状态压缩) *; int par[MAX_N ...

  5. hdu 1166 敌兵布阵_线段树

    题意:略 思路:这题是单点更新,如果是减少的话,直接把数据变成负加上去就行了. #include <iostream> #include<cstdio> #include< ...

  6. poj 1088 滑雪_记忆化搜索

    题意:略 直接用记忆化搜索就行了 #include<cstdio> #include<iostream> using namespace std; int n,m; int m ...

  7. TX enqueue DRM

  8. 集合框架-TreeSet

    TreeSet是Set集合的常见子类. TreeSet:底层结构是 二叉树 元素是有排序的,但是不可以有重复元素. 相关代码演练: /* TreeSet ;元素是有序的,但是不可以元素重复. */ i ...

  9. sqlserver 2008 局域网跨服务器T-SQL操作(一)

    --查看当前链接情况: select * from sys.servers; --增加链接,参数:服务器别名,为链接服务器的OLE DB数据源的产品名称,与此数据源对应的OLE DB访问接口的唯一编程 ...

  10. linux中断--进程上下文和中断上下文

    一.前言 中断发生以后,CPU跳到内核设置好的中断处理代码中去,由这部分内核代码来处理中断.这个处理过程中的上下文就是中断上下文. 为什么可能导致睡眠的函数都不能在中断上下文中使用呢? 首先睡眠的含义 ...