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

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

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.jsqmd.com/news/69467/

相关文章:

  • 2025 年 SAT 辅导机构怎么选?TOP1 无老师国际领衔,三大维度精准避坑 - 品牌测评鉴赏家
  • QT CMake项目中spdlog编译优化实战:从30秒到毫秒级的构建优化
  • 电源芯片的选择
  • qemu安装aix7.2
  • 编程小白必看!免费体验课大搜罗 - 品牌测评鉴赏家
  • 【算法】可获得的最大点数问题
  • 前端半小时,上线一下午?我用这个平台工程思路统一了全栈部署
  • C语言深度解剖:第一章关键字(五) - 实践
  • 【AI】第二篇 为什么会有神经网络
  • 7-16岁少儿编程课精选推荐:从启蒙到竞赛的系统路径 - 品牌测评鉴赏家
  • 权威盘点:2025年中国智能舆情监控系统市场深度解析
  • 2025年国内诚信的微动开关制造厂家推荐榜单,家电微动开关/鼠标微动开关/防水微动开关/微动开关/小型微动开关微动开关制造厂家哪里有 - 品牌推荐师
  • ABC352D 题解
  • MySQL 筛选条件放 ON 后 vs 放 WHERE 后
  • 明天不干是小狗
  • CF547B 题解
  • SAT 辅导哪里好?2025 年优质机构推荐(含精准选择指南) - 品牌测评鉴赏家
  • 10403_基于Springboot的旅游管理系统
  • MMH_蓝桥杯Python_语法基础_列表与循环语句基础
  • 2025全屋定制十大品牌哪家好?欧蒂尼硬核实力破局,领衔品质家居新革命 - 资讯焦点
  • keepalived搭建高可用
  • P5304 [GXOI/GZOI2019] 旅行者 题解
  • 2025 年面膜消费指南:告别盲目囤货,10款补水保湿抗老修护爆款适配干油敏肌,精准解决护肤痛点 - 资讯焦点
  • P3275 [SCOI2011] 糖果 题解
  • the attitude
  • 2025年国内正规的微动开关工厂怎么选购,家电微动开关/大电流微动开关/新能源微动开关/小型微动开关/汽车微动开关供货商怎么选 - 品牌推荐师
  • win10 vscode 使用ssh登录 ubuntu
  • P4064 [JXOI2017] 加法 题解
  • 2025年河南工业大学2025新生周赛 (7)
  • P3076 [USACO13FEB] Taxi G 题解