POJ 2019 Cornfields (二维RMQ)

基于轻量级神经网络MobileNet V2的水果识别种类算法研究 本文阐述了一种基于轻量级卷积神经网络MobileNet V2的水果分类与识别算法研究。为了最大限度地促进机械收获,需要一个检测系统,它可以让我们识别不同类别的水果。一个相对未开发的想法是使用深度学习和人工智能算法,不仅可以检测水果的种类,还可以检测水果是否成熟。这可以证明是有利可图的,因为它可以提供作物生长状况以及成熟和未成熟果实的个体数量,以及决定是否是收获时间的有用信息。第一步对数据进行了预处理,数据预处理技术在众多的深度学习计算中起到了重要作用。 阅读详情

http://poj.org/problem?id=2019
题意:给定一个 N∗N N ∗ N 的矩阵和一个整数 B (1<=B<=N) B   ( 1 <= B <= N ) , K K 次询问,每次询问给出一个位置x,y,求以 x,y x , y 为左上角的 B∗B B ∗ B 的子矩阵中的最大差值(最大值减最小值)是多少。

二维RMQ的模板题,和一维RMQ的思路一样,只是要扩展到二维,查询是要从四个角进行比较。
具体还是看代码吧QAQ。

#include<iostream>
#include<cstdio>
#include<stack>
#include<algorithm>
#include<cstring>
#include<map>
#include<queue>
#include<cmath>
#define INF 0x3f3f3f
using namespace std;
int n,k,b,x,y;
short dp1[255][255][10][10],dp2[255][255][10][10],val[255][255];
void ST()
{
    for(int i=0;(1<<i)<=n;i++)
    {
        for(int j=0;(1<<j)<=n;j++)
        {
            if (i == 0 && j == 0) continue;
            for (int row = 1; row + (1 << i) - 1 <= n; row++)
            {
                for (int col = 1; col + (1 << j) - 1 <= n; col++)
                {
                    //当x或y等于0的时候,就相当于一维的RMQ了
                    if(i==0) dp1[row][col][i][j]=max(dp1[row][col][i][j-1],dp1[row][col+(1<<(j-1))][i][j-1]),dp2[row][col][i][j]=min(dp2[row][col][i][j-1],dp2[row][col+(1<<(j-1))][i][j-1]);
                    else if(j==0) dp1[row][col][i][j]=max(dp1[row][col][i-1][j],dp1[row+(1<<(i-1))][col][i-1][j]),dp2[row][col][i][j]=min(dp2[row][col][i-1][j],dp2[row+(1<<(i-1))][col][i-1][j]);
                    else dp1[row][col][i][j]=max(dp1[row][col][i][j-1],dp1[row][col+(1<<(j-1))][i][j-1]),dp2[row][col][i][j]=min(dp2[row][col][i][j-1],dp2[row][col+(1<<(j-1))][i][j-1]);
                }
            }
        }
    }
}

//本来一维RMQ询问的时候是一个区间,现在变成了一个矩形,所以需要四个角度
int Query1(int x1, int y1, int x2, int y2) {
    int kx = 0, ky = 0;
    while (x1 + (1 << (1 + kx)) - 1 <= x2) kx++;
    while (y1 + (1 << (1 + ky)) - 1 <= y2) ky++;
    int m1 = dp1[x1][y1][kx][ky];
    int m2 = dp1[x2 - (1 << kx) + 1][y1][kx][ky];
    int m3 = dp1[x1][y2 - (1 << ky) + 1][kx][ky];
    int m4 = dp1[x2 - (1 << kx) + 1][y2 - (1 << ky) + 1][kx][ky];

    return max(max(m1, m2), max(m3, m4));
}
int Query2(int x1, int y1, int x2, int y2) {
    int kx = 0, ky = 0;
    while (x1 + (1 << (1 + kx)) - 1 <= x2) kx++;
    while (y1 + (1 << (1 + ky)) - 1 <= y2) ky++;
    int m1 = dp2[x1][y1][kx][ky];
    int m2 = dp2[x2 - (1 << kx) + 1][y1][kx][ky];
    int m3 = dp2[x1][y2 - (1 << ky) + 1][kx][ky];
    int m4 = dp2[x2 - (1 << kx) + 1][y2 - (1 << ky) + 1][kx][ky];

    return min(min(m1, m2), min(m3, m4));
}
int main()
{
    memset(dp1,0,sizeof(dp1));
    memset(dp2,INF,sizeof(dp2));
    scanf("%d%d%d",&n,&b,&k);
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= n; j++)
        {
            scanf("%hd", &val[i][j]);
            dp1[i][j][0][0] = val[i][j];
            dp2[i][j][0][0] = val[i][j];
        }
    }
    ST();
    while(k--)
    {
        scanf("%d%d",&x,&y);
        printf("%d\n",Query1(x,y,x+b-1,y+b-1)-Query2(x,y,x+b-1,y+b-1));
    }
}
攀藤PMS系列传感器STM32驱动开发与数据解析实战 本文详细介绍了攀藤PMS系列传感器与STM32微控制器的驱动开发与数据解析实战,涵盖硬件连接、数据协议解析、驱动源码编写及数据处理优化。重点解析了传感器数据帧结构,提供了完整的STM32驱动实现代码,并分享了实际应用中的问题排查与性能优化经验,帮助开发者快速实现高精度颗粒物浓度检测。 阅读详情

相关推荐

5.44GHz超高精度!STM32G474的HRTIM时钟配置避坑指南

本文深入解析STM32G474内置高分辨率定时器的时钟配置要点,帮助工程师避开常见陷阱。文章详细阐述了从系统时钟到5.44GHz等效时基的路径,重点分析了预分频器乘法器、周期计算溢出、影子寄存器同步等关键配置,并结合实测波形对比,确保HRTIM在电机控制、数字电源等精密应用中发挥极限性能。

book8的博客 524

POJ - 2019 Cornfields(二维rmq)

题目链接:点击这里 题目大意: 给定一个 n×n(n≤250)n\times n(n\le 250)n×n(n≤250) 的方阵,以及 k(k≤105)k(k\le 10^5)k(k≤105) 个询问。 每次询问以 (xi,yi)(x_i,y_i)(xi​,yi​) 为左上角,边长为 bbb 的子方阵中,最大值和最小值的差 题目分析: 设 dp[i][j][k][o]dp[i][j][k][o]dp[i][j][k][o] 表示以 (i,j)(i,j)(i,j) 为左下角的点,横纵坐标跨度分别为 2k,2o

羊驼的博客 303

TPRI-DMP平台介绍

TPRI-DMP为华能集团西安热工院自主产权的工业云PaaS平台,已经过13年的发展和迭代,其具备大规模能源电力行业生产应用软件开发和运行能力

ashou706的专栏 2276

POJ-2019(Cornfields)

题意:给定一个 N xN的矩阵,有 K 个查询,每次查询给出一个坐标 P(x,y),求以 P 点为左上角,大小为 B x B 的子矩阵的最大值与最小值的差。 分析:二维RMQ裸题。 代码: #include<cstdio> #include<cstring> #include<iostream> #include<algorithm&...

Joker & Liar的博客 450

STM32F103C8T6通过ESP8266连接阿里云物联网平台(附代码)

STM32F103C8T6连接阿里云物联网平台(1)—阿里云lot Studio控制 Web开发 分享一下自己使用stm32f103c8t6通过ESP_01模块连接阿里云物联网平台,实现温湿度上传和控制命令下达的过程,能力有限,用的是最简单的方法,如有错误,多多担待。 一、硬件选型 1、 stm32f103c8t6 2、ESP_01 wifi模块 3、其他 二、硬件连接 WSP_01 STM32F103C8T6 RXD PA2 TXD PA3 RES PA4 VCC 3.3

weixin_A13253323604 3万+

无刷直流电机计算转速

一个霍尔传感器周期(Tms)有两种模式输出方式(3FG/1FG),一个电周期是6个60°电角度,电机磁极数是P,磁极对数PP = P / 2 3FG模式: 1个电周期= 6 * T 1FG模式: 1个电周期= 2 * T 1秒钟电周期个数: 1分钟电周期个数: 1分钟转速: 举例: 假设电机磁极数是8,3FG模式下,霍尔周期700us,计算该条件下转速 ...

meimiaorenshengqq的博客 9688

poj2019(二维线段树)

点击打开题目链接 大致题意:给定一个n*n矩阵以及k个查询。每个查询中给出两个数x,y,则该查询询问以第x行第y列为左上角的b*b 矩阵中元素最大值与最小值之差。 思路:二维问题简单化,可先考虑一维的情形,即考虑区间内元素最大最小值问题。这个可以用RMQ解决,当然, 写线段树也可以,这道题我就直接以线段树为基础了。主要的式子就是maxval[o]=max(maxval[o*

lixiaomu2的博客 541

【OpenClaw从入门到精通】第63篇:A股智能分析实战——用OpenClaw搭建个人量化研究助手(2026实测版)

2026年,OpenClaw已成为量化投研圈的现象级工具,八家头部券商密集发布专题研报力证其价值。传统量化投研面临技术门槛高、重复劳动多、策略迭代慢、非结构化数据处理弱四大痛点,而OpenClaw通过“AI智能体+金融Skill+量化API”的融合,实现了从数据获取、策略生成、回测验证到持仓监控的全流程自动化。本文基于2026年最新实测经验,完整呈现个人量化研究助手搭建:从阿里云部署、阿里云百炼API配置(含解析失败解决方案)、Tushare数据源接入,到PB-ROE价值选股、研报复现、自动化回测、持仓监控

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1060

POJ-2019——Cornfields(二维RMQ?暴力吧!)

题意:给你一个N*N的矩阵,每一个点有一个权值,询问子矩阵中最大值与最小值的差 分析:感觉没啥好说的,这是一个显然的二维RMQ问题,把模版一套,AC!结果很奇怪的是这道题很水,暴力也可以过,真是见了鬼了! 二维ST算法 #include #include #include #include #include #include #include #include #includ

shengtao96的专栏 904

微信小程序|基于小程序实现定位打卡功能

此文主要在小程序内实现打卡功能,可根据用户位置与公司设定的打卡范围实时判断打卡是否合法,并在后台对打卡记录进行管理。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 1万+

从数据库到数据仓库:数据仓库导论

本文为数据仓库导论,旨在介绍数据仓库的基本理念和应用场景,帮助读者理解数据仓库的重要性及其在企业中的实际应用。

探索大数据世界 - 深入解析数据存储、分布式计算与人工智能 2784

POJ - 2019 Cornfields 【二维线段树】

题目链接:https://vjudge.net/problem/POJ-2019 我写的这个二维线段树没什么技巧,就是直接开一个 node[cur][cure],cur代表的是x轴的一维线段树,cure代表的是y轴的一维线段树。 初始化: 先从x轴开始做线段树的操作,当x轴到达叶节点时,再对y轴做线段树的操作,x轴返回到父节点时,一样要对y轴从1到N重头做一次线段树的操作,这是初始化的过程,...

Y390d的博客 247

thermal系列(5)-DTSI中配置Thermal

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.youkuaiyun.com/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录thermal系列目录DTSI中配置ThermalDTSI节点类型描述CPU0的配置举例CPU核hot-plugging举例修改热缓解阈值DTSI的node中带有tracks-lowDTSI中关闭某个Thermal Zones thermal系列目录 thermal系列(1)-引言部分 thermal.

fulinux的博客 1232

POJ - 2019 Cornfields 二维RMQ

题意 给出n∗n的矩阵。给出n∗n的矩阵。给出n*n的矩阵。 多次查询(x,y)为左上顶点,长度为b的子矩阵的最大值最小值差。多次查询(x,y)为左上顶点,长度为b的子矩阵的最大值最小值差。多次查询(x,y)为左上顶点,长度为b的子矩阵的最大值最小值差。 题解 二维ST表二维ST表二维ST表 给出两种二维RMQ写法给出两种二维RMQ写法给出两种二维RMQ写法 Code1Code...

Uniontake 503

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

poj 2019 Cornfields(二维RMQ)

Cornfields Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 5310   Accepted: 2613 Description FJ has decided to grow his own corn hybrid in order to help the co

WEYuLi的专栏 775

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Poj 2019 Cornfields【二维RMQ-------ST算法】

Cornfields Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 6608   Accepted: 3234 Description FJ has decided to grow his own corn hybrid in order to help th

mengxiang000000 2016

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【RMQ】Poj 2019 Cornfields (二维)

题意: 给出一个 N * N 的矩阵(行列的编号都是 1-n),有 q 组询问,每组询问包含 row,col ,代表从 row行 ,col列 开始的 b * b 大小的矩阵,使其 max-min 值最大 O(n * m * log(n) * log(m) - O(1) 方法 int t,n,m,l,r,q,b,x,y; int a[maxn][maxn]; int maxs[maxn][maxn][8][8]; int mins[maxn][maxn][8][8]; void RMQ(){ for

weixin_44745441的博客 156

POJ 2019 Cornfields(简单二维RMQ)

思路:二维RMQ #include #include #include using namespace std; const int MAXN=255; int val[MAXN][MAXN]; int dmin[MAXN][MAXN][8][8]; int dmax[MAXN][MAXN][8][8]; void initRMQ(int n,int m) { for(int i

围巾的ACM博客 553

POJ--2019--Cornfields【二维RMQ】

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define PI acos(-1.0) #def

阳光照耀圣西罗 740

POJ 2019 Cornfields [二维RMQ]

二维RMQ。求一个矩阵的子矩阵各元素的最大值与最小值之差。用int会超内存,改用short。 #include #include #include #include #include using namespace std; const int maxn = 255; int n, b, k; short dpmin[maxn][maxn][10][10]; short dpm

~飞呀,飞~ 1221

POJ 2019 Cornfields 二维RMQ

题目来源:POJ 2019 Cornfields 题意:求正方形二维区间最大最小值的差 思路:直接二维ST搞 试模版而已 #include #include #include using namespace std; const int maxn = 255; int dp[maxn][maxn][8][8]; int dp2[maxn][maxn][8][8]; int a[

嗯。 1104

POJ-2019 Cornfields(二维rmq)

题目思路 用二维rmq处理出矩阵的最大最小值,再输出 二维rmq 跟一维rmq的处理方式相同 区别在于一维只要注意一个方向 二维需要对两个方向进行处理 二维情况分成三类 令数组为dp[i][j][k][t] 1 k和t均为0 此时表示的是一个点 对这种情况可以先处理 dp[i][j][0][0]=mp[i][j]; 2 k=0但t!=0 或者是k!=0但t=0 此时的处理方式和一维一样 if(k) { dp[i][j][k][t]=max(dp[i][j][k-1][t],dp[i+(1<&

daydreamer23333的博客 202

Cornfields POJ - 2019(二维rmq)

FJ has decided to grow his own corn hybrid in order to help the cows make the best possible milk. To that end, he’s looking to build the cornfield on the flattest piece of land he can find. FJ has, at great expense, surveyed his square farm of N x N hectar

tomjobs的博客 537

POJ2019 Cornfields 二维RMQ问题

二维RMQ问题 题意是输入

AC_Gibson的专栏 638

poj2019cornfields【二维RMQ】

本来想自己写来着,憋了半天没写明白,突然意识到这玩意我有邝斌的模板啊~·~WA了n发之后才发现自己错哪了,就不能细心点,唉,比赛可咋整 /*********** poj2019 2016.1.19 27388K 579MS C++ 1931B ***********/ #include #include #include #include #include using namespace st

MissZhou要努力 669
上一篇: POJ 2187 Beauty Contest (旋转卡壳 最远点对)
下一篇: POJ 3159 Candies (差分约束)
sdxtcqs
博客等级 码龄11年 8粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值