首页 > 其他分享 >10 Iva & Pav

10 Iva & Pav

时间:2024-01-10 15:22:18浏览次数:27  
标签:10 Iva Pav int mid st query

image
image
image
image

首先这是一个离线的操作,所以可以用st表,所有区间的&运算结果求出来

其次&运算是相同取1,不同取0。意味着值是不断变小的,所有我们可以二分找到答案

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+10;
int st[N][30];
int a[N];
int query(int l,int r){
	int len=r-l+1;
	int k=log2(len);
	return st[l][k]&st[r-(1<<k)+1][k];
}
void solve(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		st[i][0]=a[i];
	}
	for(int k=1;k<=20;k++){
		for(int i=1;i+(1<<k-1)<=n;i++){
			st[i][k]=st[i][k-1]&st[i+(1<<k-1)][k-1];
		}
	}
	int q;
	cin>>q;
	for(int i=1;i<=q;i++){
		int x,k;
		cin>>x>>k;
		if(st[x][0]<k){
			cout<<-1<<" ";
			continue;
		}
		int l=x,r=n;
		while(l<r){
			int mid=(l+r+1)>>1;
			if(query(x,mid)>=k){
				l=mid;
			}
			else r=mid-1;
		}
		cout<<r<<" ";
	}
	cout<<"\n";
}
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	int t=1;
	cin>>t;
	for(int i=1;i<=t;i++)solve();
	return 0;
} 

标签:10,Iva,Pav,int,mid,st,query
From: https://www.cnblogs.com/yufan1102/p/17956565

相关文章

  • 10分钟看懂Docker和K8S
    10分钟看懂Docker和K8S2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。  <imgsrc="https://pic4.zhimg.com/v2-e6390d9358b05d82105fe391762346b3_b.jpg"data-caption=""data-size="normal"data-rawwidth="420"data-rawheight=&......
  • 【闲话】01.10.24
    0110闲话头图:今日推歌:LonPi《绣球花feat.歌爱雪》前奏特别特别伟大,,,是与你十分相称的绣球花啊例行学术:关于\(Kruskal\)判环我23年10月的一点新理解:用\(fa\_u\)和\(fa\_v\)记录\(e[i]\)这条边所在链的两个端点。如:1-2-3-4-5-6-7这条链,假设\(e[3]\)是......
  • P1085题解
    思路1.定义校内时间/校外时间/最大值(记录不高兴值)/记录星期intn,m,maxx=-1,tmp;2.使用循环输入并判断for(inti=1;i<=7;i++){//循环一周的日期cin>>n>>m;if(n+m>8&&maxx<n+m){//如果津津不高兴了且它比以往的值都大maxx=n+m;//更改最大值tmp=i;......
  • 海亮01/10构造专题
    海亮01/10构造专题个人题单T1CF1375E题意给定一个长度为\(n\)的序列\(a\),求\(a\)中的所有逆序对\((i_1,j_1),(i_2,j_2),\cdots,(i_m,j_m)\)的一个排列\(p\),使得依次交换\((a_{i_{p_1}},a_{j_{p_1}}),(a_{i_{p_2}},a_{j_{p_2}}),\cdots,(a_{i_{p_m}},a_......
  • 2024-01-10(电动车充电器&铁板烧)
    一、电动车充电器问题:(问题):充电器上电时炸了,新买了一个。坏的那家1年内免费换新还需等财务统一核销。(反思):充电器这种东西不能放在户外日晒雨淋,晚上把小电动清理干净。 二、鹿仙子铁板烧问题:(问题):500W/220V铁板上融锡膏好像要一分钟。这一分钟之前元器件都不会被烧坏吗?(解......
  • Oracle 10g enqueue waits
    Oracle10genqueuewaitsEnqueueTypeDescriptionenq:AD–allocateAUSynchronizesaccessestoaspecificOSM(OracleSoftwareManager)diskAUenq:AD–deallocateAUSynchronizesaccessestoaspecificOSMdiskAUenq:AF–tasks......
  • 关闭 Win10 自动更新
    方法一 Windows设置1. 按“Windows+I”键,打开Windows设置,再单击“更新和安全”。2. 然后,在Windows更新,单击“高级选项”。 3. 在高级选项中,您可以将“更新选项”中项目全部关闭,或者选择“暂停更新”,但此暂停更新至多只能暂停35天,   达到暂停限制后需先获取新......
  • 双向广搜->字符变换(洛谷P1032)
    题意:给起始和终止串A和B,以及不超过6个字符串变换规则,求A->B能否在10步以内变换完成。分析:暴力bfs每次有6条路可以走,时间复杂度是6^10大概6e8的时间复杂度,会TLE。于是这题是一道经典的双向bfs。直接开两个队列,两个map,暴力搜1~5步即可。双向bfs的时间复杂度是2*(6^5)=1e4......
  • D55XT100-ASEMI电机专用整流桥D55XT100
    编辑:llD55XT100-ASEMI电机专用整流桥D55XT100型号:D55XT100品牌:ASEMI封装:DXT-4平均正向整流电流(Id):55A最大反向击穿电压(VRM):1000V产品引线数量:4产品内部芯片个数:4产品内部芯片尺寸:95MIL峰值正向漏电流:<10ua恢复时间:>2000ns正向浪涌电流:550A芯片材质:光阻GPP最大正向电压:工作结温:-55℃~15......
  • 韩顺平java基础-10-面向对象编程
    韩顺平java基础-10-面向对象编程类变量和类方法类变量static静态变量被同一个类所有对象共享类变量在类加载的时候生成定义语法访问修饰符static数据类型变量名如何访问类变量类名.类变量名//类变量随着类加载而创建,所以即使没有创建对象实例也可以访问。使用细......