[HDU5443]The Water Problem
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5443
一道ST表的板子题。ST表可以用于满足幂等律的运算,如最大最小值和gcd,因为其对重叠现象不敏感,时间复杂度,常数小于线段树,用得不多。
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; int bin[10],len[1010]; int Max[1010][10]; int main() { bin[0] = 1; len[1] = 0; for (int i = 1; i < 10; i++) bin[i] = bin[i - 1] << 1; for (int i = 2; i <= 1000; i++) len[i] = len[i >> 1] + 1; int T; scanf("%d", &T); while (T--) { int n; scanf("%d", &n); for (int i = 1; i <= n; i++) scanf("%d", &Max[i][0]); for (int k = 1; k < 10; k++) for (int i = 1; i + bin[k] <= n + 1; i++) Max[i][k] = max(Max[i][k - 1], Max[i + bin[k - 1]][k - 1]); int q; scanf("%d", &q); while (q--) { int l, r; scanf("%d%d", &l, &r); int k; for (int i = 0; i < 10; i++) { if (r - l + 1 < bin[i]) break; k = i; } printf("%d\n", max(Max[l][k], Max[r - bin[k] + 1][k])); } } return 0; }
分类:
ST表
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验