1305: 老管家的忠诚(ST表) 解题思路:ST表原理:利用动态规划预处理出所有长度为2^j的区间最小值,查询时通过两个覆盖目标区间的预处理区间的最小值得到结果,实现O(1)查询。预处理:时间复杂度O(nlogn),通过递推关系将长区间拆分为两个短区间的组合。查询优化:通过计算区间长度的对数k, 题解列表 2025年10月19日 0 点赞 0 评论 375 浏览 评分:10.0
此为ST模板(有dp) 解题思路:就是普通的st表先学习这个就是ST表的模板,学会ST这个就是很简单的注意事项:参考代码:#include#include#include#includeusingnamespacestd;intm,n;intf[20][100005];intr[100005], 题解列表 2024年08月19日 0 点赞 0 评论 544 浏览 评分:9.9
C++老管家的忠诚(线段树做法) 摘要:区间查询,果断想到线段树,看了一下题解有很多用的st表,但感觉st表模板太难记了,线段树相对好记很多,还是线段树更香一点。树状数组也可以求最值但得改模板。参考代码:#include using nam…… 题解列表 2024年03月07日 0 点赞 0 评论 565 浏览 评分:10.0
老管家的忠诚 #老管家的忠诚度##思路解析关注到本道题是典型的区间多次访问的题目的。所以,我们需要一种恰当的数据结构来帮助我们快速解决这个问题。如果采用的一般的方式方法一定会超时(显然是O(n^2))。有许多快速查找的数据结构,这里我选取了线段树来完成。##代码实现```cpp/**题目1305:老管家的忠诚*th 题解列表 2024年01月11日 0 点赞 0 评论 635 浏览 评分:0.0
1305: 老管家的忠诚(ST表) 摘要:解题思路:ST表预处理时间为o(nlogn),查询时间为o(1),适用于区间最值查询,但不支持在线修改注意事项:参考代码:#include<bits/stdc++.h> using namespac…… 题解列表 2023年05月11日 0 点赞 0 评论 652 浏览 评分:0.0
1305: 老管家的忠诚 ```cpp#includeusingnamespacestd;intdivide(int*a,int*b,intlow,inthigh){intmid=a[low],tmp=b[low];while(low=mid&&lown;a=newint[m];b=newint[m];for(inti=0;i 题解列表 2023年04月22日 0 点赞 0 评论 636 浏览 评分:9.9
P1038-题解(C++代码) ```cpp#include#includeusingnamespacestd;//divide和quicksort为快排函数intdivide(int*a,int*b,intlow,inthigh){intmid=a[low],tmp=b[low];while(low=mid&&lown;a=new 题解列表 2020年07月24日 0 点赞 0 评论 1086 浏览 评分:9.9
P1038 (C++代码) 摘要:解题思路:注意事项:参考代码:#include <cstdio> #include <cmath> #include <iostream> using namespace std; int n…… 题解列表 2018年02月23日 0 点赞 0 评论 1975 浏览 评分:9.9