UVA - 11235 —— Frequent values 【RMQ】

用简单仿真链路产生 WiFi CSI(不依赖专用工具箱,matlab实现) 这篇文章详细介绍了使用MATLAB仿真生成WiFi信道状态信息(CSI)的过程。内容包括:准备工作(定义OFDM和MIMO参数)、基本参数设置(天线数、FFT点数等)、构造训练OFDM符号、多径瑞利信道建模、逐天线时分发射接收处理、CSI信道估计方法,以及幅值和相位的可视化。通过BPSK调制和瑞利衰落信道仿真,实现了简单的CSI生成流程,为初学者理解CSI产生机理提供了直观指导。文章强调这仅是基础仿真,更深入的研究需要实际数据采集。文末还提供了WiFi指纹定位的相关参考资料。 阅读详情
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=23846

题解:

  1. 游程编码(将序列转化为(value, num)的一段一段的键值对形式)后,将问题转化为几乎是一个RMQ问题,仅有一些细节要单独考虑

  2. 如果查询的两个下标l, r属于同一段键值对,那么答案就是(r - l + 1);否则,答案是三个(或两个)值的最大值,详情见代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#define INF 0x3f3f3f3f
using namespace std;
const int MAXN = 100000 + 5, MAXK = 17 + 5;
int d[MAXN][MAXK];
int val[MAXN], num[MAXN];
int id[MAXN], L[MAXN], R[MAXN];
int size;

void build(int n)
{
    for(int i=1; i<=n; i++) {
        d[i][0] = num[i];
    }
    
    for(int j=1; (1<<j) <= n; j++) {
        for(int i=1; i + (1 << j) - 1 <= n; i++) {
            d[i][j] = max(d[i][j-1], d[i+(1<<(j-1))][j-1]);
        }
    }
}

int query(int l, int r)
{
    if(l>r)    return -INF; // 是必要的,因为仔细考虑一下,是有可能出现该异常的!
    int w = r - l + 1;
    int x = 0;
    while((1<<x+1) <= w) x++;
    return    max(d[l][x], d[r-(1<<x)+1][x]);
}

int main ()
{
    int n, q, l, r;
    while(scanf("%d", &n) != EOF && n) {
        scanf("%d", &q);
        size = 1;
        int pre, x;
        for(int i=1; i<=n; i++) {
            scanf("%d", &x);
            if(i==1) {
                val[size] = x;
                num[size] = 1;
                id[i] = size;
                L[size] = i;
            } else if(x != pre) {
                R[size] = i-1;
                size++;
                
                val[size] = x;
                num[size] = 1;
                id[i] = size;
                L[size] = i;
            } else {
                num[size]++;
                id[i] = size;
            }
            pre = x;
        }
        R[size] = n;
        
        build(size);
        
        while(q--) {
            scanf("%d%d", &l, &r);
            int maxn;
            if(id[l] == id[r]) {
                maxn = r - l + 1;
            } else {
                maxn = R[id[l]] - l + 1;
                maxn = max(maxn, r - L[id[r]] + 1);
                maxn = max(maxn, query(id[l]+1, id[r]-1));
            }
        
            printf("%d\n", maxn);
        }
    }
    return 0;
}

 

  

RV1106G3的fastboot调试 本文详细描述了在幸狐的Luckfox Pico Ultra硬件平台上,使用官方SDK进行系统优化和YOLOv5s模型部署的过程。首先,硬件板卡使用幸狐的SDK进行EMMC非Fastboot配置时功能正常,但Fastboot配置编译失败,通过修改设备树中的ramdisk大小解决了编译问题,但运行时仍报错。幸狐提供的Fastboot烧录文件可正常运行,表明硬件支持Fastboot。随后,使用官方SDK版本rv1106_rv1103_240813进行编译和调试,发现EMMC Fastboot启动失败,通过修改U- 阅读详情

相关推荐

GROMACS新手必看:从PDB文件到完整分子动力学模拟的保姆级教程

本文提供GROMACS分子动力学模拟的保姆级教程,从PDB文件处理到完整模拟流程全覆盖。详细讲解结构预处理、系统构建、能量最小化、生产模拟等关键步骤,并分享性能优化和结果分析技巧,帮助新手快速掌握分子动力学模拟的核心操作。

yhn456789的博客 761

UVa 11235 Frequent values(RMQ)

题目链接:UVa 11235  Frequent values

fobdddf的专栏 505

攻击时间控制的动态逆三维制导律(源代码)

%参考文献:《攻击时间控制的动态逆三维制导律》,哈尔滨工程大学学报,2010 %编程难点:视线坐标系与参考坐标系间的转换关系 一、采用本文方法结果 二、偏航通道采用增广比例导引律

算法小站 2392

UVA11235 Frequent values(RMQ)

题目大意:给出一个升序的序列,对于一系列的询问(i,j),回答i到j中出现次数最多的数字。 白书上的例题QAQ,游码编程建立对应的序号与段与最远到达的区间的序号,用RMQ查询一下即可。 #include #include #include #include using namespace std; const int N=100005; int val[N];//第i段的值 int d

HOrchard 385

腾讯滑块验证码collect参数逆向与JSVMP对抗实战

本文深入解析腾讯滑块验证码collect参数的逆向过程与JSVMP虚拟机对抗技术。通过详细的环境搭建、抓包分析和JSVMP逆向技巧,揭示collect参数的生成逻辑与加密流程,并提供完整的模拟实现方案和常见问题排查方法,助力开发者突破腾讯天御验证码的防护机制。

weixin_29009501的博客 1573

Windows10 使用Apple Studio Display显示器的设置

AppleStudioDisplay显示器购买花了近1.5wRMB,由于为windows台式机,显卡为NVIDAGTX-1660,而AppleStudioDisplay只有雷电接口,尝试了很多种转接方式,均以失败告终,最终使用贝尔金VR线成功,,附图如下这边也测试过NVIDARTX-2060Super、NVIDAGTX-1650显卡,都是能点亮的,NVIDA1650存在关机重启后黑屏,不稳定现象,2060也存在关机重启后不亮现象,后面发现1660s很稳定。...

爱意随风起,人生不可弃。 1万+

UVa11235 Frequent values[RMQ]

You are given a sequence of n integers a1; a2; : : : ; an in non-decreasing order. In addition to that, you are given several queries consisting of indices i and j (1  i  j  n). For each query, dete

NULL 527

基于STM32的设计智慧超市管理系统(带收银系统+物联网环境监测)_167

本系统主要由超市环境监测部分和商品管理部分组成。环境监测部分主控芯片采用STM32F103C8T6,主要包括温湿度传感器、烟雾传感器和空调制热开关、空调制冷开关,采集的数据通过ESP8266模块+MQTT协议上传至OneNet云平台,在OneNet云平台设计手机和电脑版本可视化页面,能够在页面上查看超市的环境信息,还能在页面上手动打开空调制热开关和空调制冷开关。商品管理部分主要由RC522-RFID读卡器、上位机组成,实现商品选购、结算、顾客的VIP会员卡注册管理等功能。

6066

UVA11235:Frequent values(RMQ)

You are given a sequence of n integers a1 , a2 , ... , an in non-decreasing order. In addition to that, you are given several queries consisting of indices i and j (1 ≤ i ≤ j ≤ n). For each query, d

ACM!荣耀之路! 3670

电化学-论文分享-NanoStat: An open source, fully wireless potentiostat

本文主要分享论文NanoStat: An open source, fully wireless potentiostat,并记录学习笔记。如果有条件,建议看原文最好。

分享技术笔记,希望对大家能够有一定的帮助,同时也通过归纳总结提升自己的个人能力。 2872

贝叶斯机器学习在吸附量预测中的应用

本文介绍了贝叶斯机器学习在吸附量预测中的应用。通过Python实现完整的贝叶斯建模流程,包括数据生成、预处理、模型构建与评估。文章对比了贝叶斯与频率学派的差异,详细阐述了贝叶斯线性回归和神经网络的实现方法,并提供了数据可视化、模型诊断等技术细节。该方法不仅能预测吸附量,还能量化预测不确定性,为工程决策提供更全面的依据。全文超过6000字,结合理论推导与代码实践,是应用贝叶斯方法解决实际工程问题的完整指南。

AI的内部世界的博客 165

UVA - 11235——Frequent values(RMQ)

题目链接:https://cn.vjudge.net/problem/UVA-11235 思路:找出每个位置的数出现的次数,用time[i]表示i位置上的数的出现次数,lef[i]表示最左边与i位置相同的的数的位置,righ表示 最右边与i位置相同数的位置。用RMQ处理time数组。则区间【L,R】中出现最多数的次数为下面三个数的最大值 1. righ[L]-L+1 2. R-lef[R]...

creator平 250

GEE 案例分析:利用Landsat数据进行FAI、NDVI及CHLA分析并统计平均值(巢湖为例)

浮游藻类指数(FAI)、归一化植被指数(NDVI)及叶绿素a(CHLA)是水体环境监测的重要指标。本文利用Google Earth Engine(GEE)平台,基于Landsat 5和Landsat 8数据,进行水体藻类及植被监测。

此星光明博客 1336

UVA 11235 Frequent values 线段树/RMQ

  vjudge 上题目链接:UVA 11235 *******************************************************大白书上解释************************************************************   题目大意:给出一个非降序排列的整数数组 a1,a2,a3,...,an,你的任务是对于一...

aidiao7379的博客 186

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

uva 11235 Frequent values RMQ问题

题目:给你一个n个数字的序列,且序列是不降的,现在问,对于每个询问query(i ,j),序列ai...aj中出现次数最多的那个数的出现次数是多少。 分析:此题应该是经典问题。首先进行游程编码(Run length encoding,RLE)。就是统计以某个值开始的连续出现次数。即(a,b)连续的a值有b个。 这样整序列就变成了以(a,b)为序列元素的另一个序列。再看对于一个询问,qu

最爱她! 422

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

uva 11235 - Frequent values(RMQ)

题目链接:uva 11235 - Frequent values 题目大意:给定一个非降序的整数数组,要求计算对于一些询问(i,j),回答ai,ai+1,…,aj中出现最多的数出现的次数。 解题思路:因为序列为非降序的,所以相同的数字肯定是靠在一起的,所以用o(n)的方法处理处每段相同数字的区间。然后对于每次询问: num[i]=num[j]:j−i+1numi≠numj:max

不慌不忙、不急不躁 1505

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

UVA - 11235 - Frequent values (RMQ)

UVA - 11235 Frequent values Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit Status Description 2007/2008 ACM International Colle

Never say never 698

UVa 11235 Frequent values (RMQ)

算法竞赛训练指南,198 页 本题要点: 1、对 int count[MaxN]; //第i段出现的次数 进行RMQ count 数组的坐标是从1开始的,而数组 d[MaxN][20]则从 0 开始, 在函数RMQ_init 中注意一下 2、根据指南书中的解题思路,关键是求出4个数组出来 int count[MaxN]; //第i段出现的次数 int num[MaxN]; //num[p] 表示位置p所在段的编号 int Left[MaxN]; //Left[p] 表示位置p所在段的左端点 int Ri

qq_38232157的博客 154

UVA 11235 Frequent values (RMQ)

You are given a sequence of n integers a1 , a2 , ... , an in non-decreasing order. In addition to that, you are given several queries consisting of indices i and j (1 ≤ i ≤ j ≤ n). For each query, d

Misdom_Tian_Ya的专栏 571

UVA 11235Frequent values(RMQ)

训练指南P198 题意:给出一个非降序排列的整数数组a1, a2…… an,你的任务是对于一系列询问(i,j),回答ai, ai+1 ……aj 中出现的次数最多的次数 这题不仅学到了rmq的应用还学到了游程编码 对于一组数 -1, 1, 1, 2, 2, 2, 4就可以编码成(-1, 1), (1, 2), (2, 3), (4, 1),其中(a, b)表示 b 个连续的 a,cn...

apk6909的博客 205

UVA 11235 - Frequent values(RMQ)

UVA 11235 - Frequent values 题目链接 题意:给定一个升序数列,每次询问一个区间[l, r],求出其中相同数字最大的个数 思路:RMQ,由于是升序,所以数字大小相同的必然连在一块,先预处理出一共有多少段,每段包含多少个数字,和原数组中每个位置对应哪一段,最左边位置和最右边位置,然后每次询问的时候,可以把询问[L, R]的时候可以分成三段: 1、L到r[

Remilia's 1141

uva 11235 Frequent values(RMQ)

大概题意:给出一段非降序数组,求出区间 [ l, r ] 的众数You are given a sequence of n integers a1,a2,...,an in non-decreasing order. In addition to that, you are given several queries consisting of indices i and j (1 ≤ i ≤ j...

Xi4or0uji 396

Frequent Values(UVa 11235) RMQ问题

来自《算法竞赛入门经典训练指南》 1.RMQ问题 范围最小值问题(Range Minimum Query,RMQ)。给出一个n个元素的数组a[1],a[2],……a[n]。设计一个数据结构,支持查询操作Query(L,R):计算min{a[L],a[L+1],……a[R]}. 采用Tarjan的Sparse-Table算法,它预处理的时间是O(nlogn)。查询只需要O(1)。 令d[i]

相思作坊半世离殇的博客 382

Uva 11235 Frequent values 【RMQ问题】

Uva 11235 Frequent values 【RMQ问题】http://www.bnuoj.com/bnuoj/problem_show.php?pid=19653

DafeiACMer 440

UVA 11235 Frequent values(RMQ)

题意:给你一个长度为n的,非递减的数组,现在有q次询问,每次询问输出[l, r]中出现次数最多的那个数的出现次 数。(n, q, |a[i]| 思路:第一反应是主席树或者莫队搞,写了发莫队n*sqrt(n)*log(n), 6e8,T了。。。注意给你的序列的是非递减的。所以我们可以将相同的数合并为1块,如1 1 1 2 2可以表示成(1, 3), (2, 2)两块,表示1有3个,2有

CillyB的博客 497

UVA11235 Frequent values 频繁出现的数值(RMQ)

题意:给出一个非降序的整数数组,你的任务是对于一系列询问,回答区间内出现最多的值的次数。 分析:详见《训练指南》P11235。因为这个数组是非降序的,所以可以把所有相等的元素组合起来用二元组表示,例如-1,1,1,2,2,2,4就可以表示为(-1,1)(1,2)(2,3)(4,1),其中(a,b)代表有b个连续的a。val[i]代表第i段的数值,cnt[i]代表第i段连续的长度,num[i]表示...

常胜将军的博客 304
上一篇: RMQ问题 —— Sparse-Table算法
下一篇: UVAlive - 4329 —— Ping pong 【树状数组】
AcIsFun
博客等级 码龄10年 1粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值