当前位置: 首页 > news >正文

题解:洛谷 P1816 忠诚

【题目来源】

洛谷:P1816 忠诚 - 洛谷

【题目描述】

老管家是一个聪明能干的人。他为财主工作了整整 \(10\) 年。财主为了让自已账目更加清楚,要求管家每天记 \(k\) 次账。由于管家聪明能干,因而管家总是让财主十分满意。

但是由于一些人的挑拨,财主还是对管家产生了怀疑。于是他决定用一种特别的方法来判断管家的忠诚。他把每次的账目按 \(1, 2, 3, \ldots\) 编号,然后不定时地问管家这样的问题:在 \(a\)\(b\) 号账中最少的一笔是多少?

为了让管家没时间作假,他总是一次问多个问题。

【输入】

第一行输入两个数 \(m, n\),表示有 \(m\) 笔账和 \(n\) 个问题。
第二行输入 \(m\) 个数,分别表示账目的钱数 \(x_i\)
接下来 \(n\) 行分别输入 \(n\) 个问题,每行 \(2\) 个数字,分别表示开始的账目编号 \(a\) 和结束的账目编号 \(b\)

【输出】

第一行输出每个问题的答案,每个答案中间以一个空格分隔。

【输入样例】

10 3
1 2 3 4 5 6 7 8 9 10
2 7
3 9
1 10

【输出样例】

2 3 1

【算法标签】

《洛谷 P1816 忠诚》 #线段树# #倍增# #RMQ# #st表#

【代码详解】

// 使用倍增思路编写
#include <bits/stdc++.h>
using namespace std;#define maxn 110000  // 定义数组最大长度
#define ll long long  // 定义长整型别名int n, q;            // n: 数组长度,q: 查询次数
int a[maxn];         // 原始数组
int f[maxn][40];     // ST表,f[i][j]表示从i开始,长度为2^j的区间最小值/*** 查询区间最小值* @param l 区间左端点* @param r 区间右端点* @return 区间[l,r]的最小值*/
int query(int l, int r)
{// 计算区间长度的对数(向下取整)int k = (int)(log(r - l + 1 * 1.0) / log(2.0));// 返回两个重叠区间的最小值return min(f[l][k], f[r - (1 << k) + 1][k]);
}int main()
{// 输入数据scanf("%d%d", &n, &q);for (int i = 1; i <= n; i++){scanf("%d", &a[i]);f[i][0] = a[i];  // 初始化ST表第一层}// 预处理ST表for (int j = 1; j <= (int)(log(n * 1.0) / log(2.0)); j++){for (int i = 1; i + (1 << j) - 1 <= n; i++){// 合并两个子区间的最小值f[i][j] = min(f[i][j - 1], f[i + (1 << (j - 1))][j - 1]);}}// 处理查询while (q--){int l, r;scanf("%d%d", &l, &r);printf("%d ", query(l, r));  // 输出查询结果}return 0;
}

【运行结果】

10 3
1 2 3 4 5 6 7 8 9 10
2 7
2 3 9
3 1 10
1 
http://www.jsqmd.com/news/394337/

相关文章:

  • ESP32开发工具链搭建-Blinker物联网开发
  • 演唱会利器
  • JavaScript闭包完全指南:从作用域链到实际应用
  • 走失儿童信息寻人平台PHP
  • 题解:洛谷 P1226 【模板】快速幂
  • 前端工程化实战:从零搭建一个企业级Monorepo项目
  • PHP抑郁症焦虑自测与交流平台
  • PHP英语课程学习资源分享博客
  • 题解:洛谷 P1966 [NOIP 2013 提高组] 火柴排队
  • 如何速成RAG+Agent框架大模型应用搭建?看完这一篇你就会了!!!
  • React Hooks进阶:从入门到精通,彻底掌握useEffect的完整指南
  • 2026年百度搜索广告推广开户竞价代运营公司/服务商测评榜单:这5家值得重点关注! - 深圳昊客网络
  • 2026-02-18 学习
  • 2026信誉好的口播文案智能体服务商哪家靠谱
  • 题解:洛谷 P1908 逆序对
  • 2026顶尖的口播文案智能体品牌公司排行
  • 支付宝消费券回收,闲券秒变零花钱 - 京顺回收
  • 2026上海展厅设计精选:口碑企业塑造独特品牌空间,展台搭建/会展/会场搭建/展位搭建/展览设计,展厅设计企业怎么选择 - 品牌推荐师
  • 沃尔玛购物卡交易平台大盘点:找到最快回收渠道! - 团团收购物卡回收
  • 完整教程:深度解析 Spring 框架核心代理组件 MethodProxy.java
  • 电赛九校联赛A题-信号测量笔记
  • 2026常州市口播文案智能体直销企业哪家好
  • 2026常州市靠谱的口播文案智能体平台
  • 沃尔玛购物卡快速回收技巧揭秘:高效、安全的解决方案 - 团团收购物卡回收
  • 沃尔玛购物卡回收避坑指南:如何找到正规渠道? - 团团收购物卡回收
  • 基于支持向量机(SVM)的时间序列预测(libsvm) 预测未来(递归) SVM时间序列递归 ...
  • PHP监狱服刑人员管理系统
  • PHP校园二手交易系统aqj3i--lw带商家
  • 安全快速!沃尔玛购物卡回收的实战经验分享 - 团团收购物卡回收
  • PHP校园失物招领管理系统 gtvcz