#题解#洛谷P7167 喷泉#ST表#区间最值#

news/2025/12/9 22:23:14/文章来源:https://www.cnblogs.com/Ahui2667d/p/19328561

P7167 [eJOI 2020] Fountain (Day1) - 洛谷

分析

  1. 由于喷泉确定,比第i个盘子大的第一个盘子nxt i 是确定的。我们由ST表维护nxt i 。

  2. 最终落入第几个盘子的答案显然单调,我们进行二分。nxt i j 表示i后面第 j+1个盘子,对 j 二分

代码实现

#include<bits/stdc++.h>
#define int  long long
#define endl '\n'
using namespace std;
const int N = 1e6+10;
int n, q, d[N], c[N], rmax[N][20], f[N][20], g[N][20], log_2[N];
int query_max(int a, int b)
{int x = log_2[b - a + 1];return max(rmax[a][x], rmax[b - (1 << x) +1][x]);
}
signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n >> q;for (int i = 1; i <= n; i++)cin >> d[i] >> c[i];for (int i = 2; i <= n; i++)log_2[i] = log_2[i >> 1] + 1;for (int i = 1; i <= n; i++)rmax[i][0] = d[i];for (int j = 1; (1 << j) <= n; j++)for (int i = 1; i <= n - (1 << j) +1; i++)rmax[i][j] = max(rmax[i][j - 1],rmax[i + (1 << (j - 1))][j - 1]);c[n + 1] = 1e9;d[n + 1] = 1e9;for (int i = 1; i < n; i++){int l = i + 1, r = n + 1, mid;while (l < r){mid = (l + r ) >> 1;if (query_max(i + 1, mid) <= d[i])l = mid + 1;elser = mid;}f[i][0] = l;//下一个盘子的编号g[i][0] = c[f[i][0]];//下一个盘子的容量}for (int t = 1; t <= 16; t++)for (int i = 1; i <= n; i++){f[i][t] = f[f[i][t - 1]][t - 1];//i后第2^t个盘子g[i][t] = g[i][t - 1] + g[f[i][t - 1]][t - 1];}while (q--){int r, v;cin >> r >> v;if (v > c[r]){v -= c[r];for (int t = 16; t >= 0; t--)if (v > g[r][t]){v -= g[r][t];r = f[r][t];}r = f[r][0];}if (r == n + 1) r = 0;cout << r << endl;}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/995650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年 SAT 辅导机构怎么选?TOP1 无老师国际领衔,三大维度精准避坑 - 品牌测评鉴赏家

2025 年 SAT 辅导机构怎么选?TOP1 无老师国际领衔,三大维度精准避坑一、选对 SAT 辅导机构的三大核心维度 (一)师资专业性:高分提分的底层逻辑,无老师国际树立行业标杆 优秀的 SAT 教师需兼具「实战高分经验」与…

电源芯片的选择

明确输入电压是24V,输出电压两路,15V,那么,如何确定这个芯片的功率要选择多大呢。 首先,明确芯片输出主要供给的电路有哪些,功率要多大。 第一,是给15V降5V的稳压电路,该电路明确输出5V的电压,最大的电流1A。…

【算法】可获得的最大点数问题

发现leetcode中1423题很有意思。 1、问题描述: 几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。 每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。 你…

QT CMake项目中spdlog编译优化实战:从30秒到毫秒级的构建优化

前言 在CMake + Qt项目开发中,我们引入了spdlog作为日志库。起初采用直接包含头文件的方式,但发现每次构建都要额外花费30秒的时间。经过一系列排查和优化,最终将这部分时间降到了毫秒级别。本文将完整记录这个优化…

【AI】第二篇 为什么会有神经网络

根据前面的n-gram的介绍,大家都发现光靠统计次数是走不通的,我们需要一个能够脑补,举一反三的方法,而不是死板的查表机器。神经网络是--“懂得举一反三的聪明人"神经网络引入了一个划时代的的概念:词向量,它…

7-16岁少儿编程课精选推荐:从启蒙到竞赛的系统路径 - 品牌测评鉴赏家

7-16岁少儿编程课精选推荐:从启蒙到竞赛的系统路径在为7-16岁的孩子选择编程教育机构时,家长们往往面临众多选择。不同机构在课程体系、教学方式和培养方向上各有侧重。本文将基于市场口碑、课程体系完整性和家长实际…

深入解析:PostgreSQL 向量扩展插件pgvector安装和使用

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

P3385 【模板】负环 题解

P3385 【模板】负环 题解差分约束系统是什么? 差分约束系统指的是一个序列 \(x={x_1,x_2,\cdots x_m}\) 和以如下形式出现的 \(n\) 元一次不等式组。 \[\left\{\begin{matrix} x_{i_1}-x_{j_1}\le c_{k_1}\\x_{i_2}-x…

权威盘点:2025年中国智能舆情监控系统市场深度解析

随着数字社会信息生态的持续演进,舆情监控工作已发生根本性变革。传统的人工信息汇总模式,正被集多模态感知、大模型智能研判与前瞻性决策支持于一体的新一代舆情监控系统所取代。行业数据显示,2025年中国舆情监测市…

qemu安装aix7.2

最近想玩玩IBM的AIX系统,由于AIX系统只能运行在IBM的power cpu上,VMware、VirtualBox只支持X86架构,QEMU全仿真的特点可以模拟出power cpu实现系统安装。 AIX系统是IBM开发的一套UNIX操作系统,它可以在所有的IBM p…

编程小白必看!免费体验课大搜罗 - 品牌测评鉴赏家

编程小白必看!免费体验课大搜罗编程小白速进!免费体验课地图来啦 编程热,为何要先体验? 在当今数字化时代,编程已成为一门炙手可热的技能 ,掀起了全民学习的热潮。从职场人士渴望提升竞争力,到家长们为孩子规划…

前端半小时,上线一下午?我用这个平台工程思路统一了全栈部署

全栈开发拯救指南:别再让你的前端去碰 Nginx 和 Docker 了 我名义上是个全栈开发者,但最近感觉自己更像个“全栈救火队员”。 一个前端组件,我可能半小时就写完了。但为了把它上线,我可能需要花一下午的时间,去跟…

2025年国内诚信的微动开关制造厂家推荐榜单,家电微动开关/鼠标微动开关/防水微动开关/微动开关/小型微动开关微动开关制造厂家哪里有 - 品牌推荐师

在工业自动化、智能家居、新能源汽车等产业蓬勃发展的当下,微动开关作为关键的基础电子元件,其可靠性直接关系到终端产品的性能与安全。面对市场上众多的微动开关制造商,采购方与工程师们常常面临“工厂哪家靠谱”的…

ABC352D 题解

ABC352D 题解ABC352D - Description 给你一个 \(n\) 的排列 \(a\),让你选出一个长度为 \(k\) 的 \(a\) 的子序列 \(b=\left [ a_{p_1},a_{p_2},\cdots ,a_{p_k} \right ]\),使得 \(\min b_i +k-1=\max b_i\) 的同时控…

CF1407D 题解

CF1407D 题解CF1407D - Description 有 \(n\) 栋楼,每栋楼有高度 \(h_i\),对于第 \(i\) 栋楼和第 \(j\) 栋楼,如果 \((i,j)\) 满足以下三个条件中的任意一个,我们认为可以从第 \(i\) 栋楼跳到第 \(j\) 栋楼:\(i+1…

12月9号

今天进行了中国古诗词的学习。

C语言深度解剖:第一章关键字(五) - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

MySQL 筛选条件放 ON 后 vs 放 WHERE 后

ON 决定如何 "连接" 表,WHERE 决定连接后 "显示" 哪些行。 这个根本区别导致了在 LEFT JOIN / RIGHT JOIN 外连接中,条件放置位置会产生巨大影响;而在 INNER JOIN 中,效果通常 等价。今天我们…

明天不干是小狗

明天不干是小狗上一条必须干 我说真的 老己,你干吧,我求求你了

CF547B 题解

CF547B 题解CF547B - Description 给你个长度为 \(n\) 的序列 \(a\),对于每个 \(1\le k\le n\),有 \(n-k+1\) 个中所有长度为 \(k\) 的子串,你需要求出这 \(n-k+1\) 个子串的区间最小值的最大值,即下面式子的值: …