zoukankan      html  css  js  c++  java
  • cf842d Vitya and Strange Lesson

    #include <iostream>
    #include <cstdio>
    using namespace std;
    int s[2000005][2], cnt, n, m, x, uu, ans, dep[2000005], siz[2000005];
    void ins(){
    	int u=0;
    	for(int i=19; i>=0; i--){
    		int t=(x&(1<<i))>0;
    		if(!s[u][t])	s[u][t] = ++cnt;
    		u = s[u][t];
    	}
    }
    void dfs(int o){
    	if(o)	siz[o] = 1;
    	if(s[o][0])	dfs(s[o][0]);
    	if(s[o][1])	dfs(s[o][1]);
    	siz[o] += siz[s[o][0]] + siz[s[o][1]];
    }
    void getAns(){
    	int u=0;
    	for(int i=19; i>=0; i--){
    		int t=(x&(1<<i))>0;
    		if(siz[s[u][t]]!=(1<<(i+1))-1){
    			ans |= t<<i;
    			u = s[u][t];
    		}
    		else{
    			ans |= (t^1)<<i;
    			u = s[u][t^1];
    		}
    	} 
    }
    int main(){
    	cin>>n>>m;
    	for(int i=1; i<=n; i++){
    		scanf("%d", &x);
    		ins();
    	}
    	x = 0;
    	dfs(0);
    	while(m--){
    		ans = 0;
    		scanf("%d", &uu);
    		x ^= uu;
    		getAns();
    		printf("%d
    ", ans^x);
    	}
    	return 0;
    }
    
  • 相关阅读:
    记一次MD5妙用
    go执行外部应用
    Go语言中的HTTP
    Go语言中的UDP应用
    Go学习
    Element-ui学习使用
    Vue学习
    BootCDNApi使用记录
    jquery.easypiechart.js简介
    jquery.gritter.js简介
  • 原文地址:https://www.cnblogs.com/poorpool/p/8443224.html
Copyright © 2011-2022 走看看