首页 > 其他分享 >CF 1175E Minimal Segment Cover[RMQ]

CF 1175E Minimal Segment Cover[RMQ]

时间:2023-05-31 10:02:03浏览次数:51  
标签:RMQ int Cover 到达 CF long 远距离 mx dp


题目链接:http://codeforces.com/problemset/problem/1175/E

 

解题思路:

预处理出每个点用一次可以到达最远的距离。那么某个点用两次可以到达最远距离就是他用一次到达最远距离的地方用一次到达的最远距离,所以我们可以去倍增。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mx = 5e5 + 10;
int n,m,a[mx];
int dp[mx][22];
int main(){
	scanf("%d%d",&n,&m);
	int l,r,ma = 0;
	for(int i=0;i<n;i++){
		scanf("%d%d",&l,&r);
		a[l] = max(a[l],r);
		ma = max(ma,r);
	}
	for(int i=1;i<=ma;i++) a[i] = max(a[i],a[i-1]);
	for(int i=0;i<=ma;i++) dp[i][0] = a[i];
	for(int j=1;j<=20;j++){
		for(int i=0;i<=ma;i++)
		dp[i][j] = dp[dp[i][j-1]][j-1];
	}
	while(m--){
		int ans = 0;
		scanf("%d%d",&l,&r);
		for(int i=20;i>=0;i--)
		if(dp[l][i]<r) ans += 1<<i,l = dp[l][i];
		if(a[l]>=r) printf("%d\n",ans+1);
		else puts("-1");
	}
    return 0;
}

 

标签:RMQ,int,Cover,到达,CF,long,远距离,mx,dp
From: https://blog.51cto.com/u_12468613/6384524

相关文章

  • PEID和PEviewer都不支持64位PE查看,所以可以使用cff explorer
    cffexplorer中文版是一个强大的pe编辑制作工具,通过它能够高效地查看.net文件结构式,对文件中的多个脚本文件可以进行优化编辑。该版本为汉化版本,体积也十分地小巧,整个界面上更加的简洁,虽然多年已经不再更新,但是用户还是可以很放心的使用它进行pe相关工作的。CFFExplorer汉化版简介......
  • CF1398E Two Types of Spells 题解 set
    题目链接:https://codeforces.com/problemset/problem/1398/E题目大意你有一个集合,初始为空。有两种类型的元素,一种是普通元素,一种是强化元素,两种元素都有一个数值。有\(n\)次操作,每次操作会往集合中加入一个元素或者删除一个元素。每次操作后,你都需要确定集合中元素的一个......
  • poj 2452(RMQ+二分)
    解题思路:这题实际上就是求某区间上的最值问题,可以先枚举区间的起始位置,然后二分去搜索比起始位置大的数且位置最远(这里可以用RMQ算法区间内的最小值),找到之后再利用RMQ算法找这段区间内的最大的,如果这段区间的长度比当前的最优值大,那么更新。详细的见代码。#include<iostream>#incl......
  • CF1585F. Non-equal Neighbours
    三倍经验:CF1591F.Non-equalNeighbours,ARC115E-LEQandNEQ。提供一种力大砖飞的数据结构\(O(n\logn)\)做法,非常好写/好调,去掉数据结构部分只有1k。定义\(f_{i,j}\)表示前\(i\)个数,最后一个为\(j\)的方案数。显然第1维可以压掉,写成\(f_j\)的形式。然后这个东......
  • CF1292 div.1 做题记录
    ACF题面若某一列的第\(i\)行禁止移动,那么看另一列的第\(i-1,i,i+1\)行是否存在禁止移动的格子,若存在为No,否则为Yes,这个只需要在改变一个点状态时判断即可。点击查看代码#include<bits/stdc++.h>#defineullunsignedlonglong#definelllonglong#definepiipair......
  • cf-div.2-875d
    链接:https://codeforces.com/contest/1831/problem/D脑子确实不好使,没啥思路,看jls代码之后豁然开朗。思路:先枚举约数s,因为\(b_i+b_j\)不会超过4e5,所以第一层枚举所有约数为根号级别,第二层循环里枚举所有对数,统计\(v=a_i*s-b_i\)的所有个数,只有当\(a_i\)的值与s的值相等时,才能......
  • 遥控器、电子秤等包含纽扣电池商品应该如何办理16CFR1700.15和16CFR1700.20/ANSI C18.
    本政策适用的纽扣电池和硬币电池本政策适用于独立式纽扣电池或硬币电池,它们是扁圆形的单体电池,直径通常为5到25毫米,高度为1到6毫米。纽扣电池和硬币电池可作为单独的电池出售,但也用于各种消费品和家居用品中,其中包括遥控器、钟表、电脑、照相机、计算器、手电筒、无焰蜡烛......
  • vcftools中 --max-missing 参数
     --max-missing参数表示:最大的丢失率不超过xxxx。(base)[root@PC1test]#lsoutcome.mapoutcome.pedoutcome.vcf(base)[root@PC1test]#catoutcome.map1snp10559101snp20852041snp301229481snp4......
  • Uncovering the Representation of Spiking Neural Networks Trained with Surrogate
    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! PublishedinTransactionsonMachineLearningResearch(04/2023)......
  • 时代的眼泪:CF1562A The Miracle and the Sleeper 题解 2021-09-23 23:00:33
    CF1562ATheMiracleandtheSleeper题解笑死,晚上熬夜打CF比赛只过了A题还加了CF值!?由于本人太弱,这道橙题都干了1h题目描述有\(T\)组数据,给出一个区间\([l,r]\),在这个区间中选择2个数a,b,使它们a%b的值最大.注意:\(l\ler\le10^9\),\(T\le10^3\)解题步骤暴力......