首页 > 其他分享 >洛谷 P8572 [JRKSJ R6] Eltaw 做题记录

洛谷 P8572 [JRKSJ R6] Eltaw 做题记录

时间:2024-10-17 15:24:56浏览次数:8  
标签:pre R6 洛谷 P8572 int lim 复杂度 back push

zhr 随机跳题跳到的,遂做之。

注意到 \(nk \le 5\times10^5\),考虑根号分治。
当 \(n\) 很大时,\(k\) 会很小,于是我们记录每一行的前缀和,每一次循环 \(k\) 个数组的前缀和取 \(\max\) 即可,时间复杂度 \(O(qk)\)。
当 \(k\) 很大时,\(n\) 会很小,我们暴力预处理区间 \([l,r]\) 的最大值,直接输出即可,时间复杂度 \(O(n^2k+q)\)。
取阀值为 \(\sqrt n\) 的时候,可以在两边都达到最小值。

点击查看代码
int n,k,q;
vector<int>a[maxn];
vector<int>pre[maxn];
const int lim=750;
int ans[lim+5][lim+5];
signed main() {
	in3(n,k,q);
	For(i,1,k) {
		a[i].push_back(0);
		pre[i].push_back(0);
		For(j,1,n) {
			int x;
			in1(x);
			a[i].push_back(x);
			pre[i].push_back(x+pre[i][j-1])	;	
		}
	}
	if(k<lim) {
		For(i,1,q) {
			int l,r;
			in2(l,r);
			int ans=-1e18;
			For(j,1,k) 
				ans=max(ans,pre[j][r]-pre[j][l-1]);
			cout<<ans<<'\n';
		}
		return 0;
	}
	For(i,1,n) For(j,1,n) ans[i][j]=-1e18;
	For(i,1,k) {
		For(j,1,n) {
			int tot=0;
			For(p,j,n) {
				tot+=a[i][p];
				ans[j][p]=max(ans[j][p],tot);
			}
		}
	}
	For(i,1,q) {
		int l,r;
		in2(l,r);
		cout<<ans[l][r]<<'\n';
	}
}

标签:pre,R6,洛谷,P8572,int,lim,复杂度,back,push
From: https://www.cnblogs.com/CodingGoat/p/18472376

相关文章

  • 洛谷 P2886 [USACO07NOV] Cow Relays G 做题记录
    设矩阵\(M^1=\begin{bmatrix}dis_{1,1}&\dots&dis_{1,n}\\\vdots&\ddots&\vdots\\dis_{1,n}&\cdots&dis_{n,n}\end{bmatrix}\),其中\(dis_{i,j}\)表示\(i\)是否能在\(1\)步内走到\(j\)。让我们回忆一下矩阵乘法,\(c_{i,j......
  • 洛谷题单指南-字符串-P2922 [USACO08DEC] Secret Message G
    原题链接:https://www.luogu.com.cn/problem/P2922题意解读:已知M个01串,给出N个01串,对于N个串的每一个,求在M个串中有多少与其有公共前缀,且前缀长度是两个串中较小者。解题思路:用Trie树存储M个01串,用cnt1[]记录某个节点结束的01串个数,cnt2[]记录经过某个节点的01串的数量对于N个0......
  • 洛谷题单指南-字符串-P2375 [NOI2014] 动物园
    原题链接:https://www.luogu.com.cn/problem/P2375题意解读:计算字符串所有子串的不重叠相同前后缀数量。解题思路:1、KMP+暴力通过Next数组,可以计算所有子串相同前后缀的数量然后枚举Next数组,通过回跳Next[j]、Next[Next[j]-1]、Next[Next[Next[j]-1]-1]......来统计长度小于......
  • 20241016每日一题洛谷P1115
    普及-洛谷P1115最大子段和读题可知需要在一段一维数组中寻找一段唯一的区间,使区间内的数和最大,即寻找和最大区间可以想到前缀和的算法假设输入数组a[n]则前缀和数组b[n]=b[n-1]+a[n]那么从什么时候开始的一段区间才能使区间内的数和最大?从前缀和数组逐步来判断这一条......
  • 洛谷题单指南-字符串-P3435 [POI2006] OKR-Periods of Words
    原题链接:https://www.luogu.com.cn/problem/P3435题意解读:定义字符串a是b的周期,当a是b的真前缀,且b是aa的前缀。给定字符串s,求s每一个前缀的最大周期长度之和。解题思路:针对字符串babababa进行样例模拟:前缀子串  最大周期  周期长度b空0ba空0babba2......
  • 洛谷 P5175 数列 题解
    纯纯数学题。看到\(n\le10^{18}\)不难想到矩乘,但是\(\log_210^{18}\approx60\),再加上\(T=30000\)的多测,运算量已经来到了\(1.8\times10^6\),所以我们最多有一个\(\sqrt[3]{\frac{1.5\times10^8}{6\times10^6}}\approx4\)的矩阵。\[\becausea_i=xa_{i-1}+ya_{......
  • Vcenter6.7相关知识点
    Vcenter6.7相关知识点什么操作是只有vcenter才能做的: 1:VM模板   2:RBAC基于角色的访问控制  3:更细的颗粒度的限制  4:Vmotion    5:动态资源分配   6:HA   7:FT   8:EVC(增强的vmotion功能)  9:hostprofiles  10:分布式交换机  ......
  • 洛谷题单指南-字符串-Test
    原题链接:https://www.luogu.com.cn/problem/CF25E https://codeforces.com/contest/25/problem/E题意解读:给定a,b,c三个字符串,求包含a、b、c的最短字符串长度。解题思路:要得到包含a、b、c的字符串,可以通过a、b、c连接形成,而要使得连接后的字符串最短,可以尽可能的利用重叠部分......
  • 洛谷题单指南-字符串-P1470 [USACO2.3] 最长前缀 Longest Prefix
    原题链接:https://www.luogu.com.cn/problem/P1470题意解读:求s最长前缀长度,使得可以拆解成p集合中的字符串解题思路:动态规划:设s字符串下标从1开始,p集合用set<string>保存所有的元素状态表示:设f[i]表示前i个字符s[0~i-1]是否能拆解成p中的元素状态计算:对于j=i-1开始往后倒......
  • 洛谷P1638逛画展
    逛画展题目链接题目描述博览馆正在展出由世上最佳的\(m\)位画家所画的图画。游客在购买门票时必须说明两个数字,\(a\)和\(b\),代表他要看展览中的第\(a\)幅至第\(b\)幅画(包含\(a,b\))之间的所有图画,而门票的价钱就是一张图画一元。Sept希望入场后可以看到所有名师的图......