zoukankan      html  css  js  c++  java
  • bzoj2460: [BeiJing2011]元素

    题目链接

    bzoj2460: [BeiJing2011]元素

    题解

    贪心维护线性基..
    直接(1 << x)会爆int,很惨

    代码

    #include<cstdio>
    #include<iostream> 
    #include<algorithm> 
    #define LL long long 
    LL read() {
    	LL x = 0,f = 1;
    	char c = getchar(); 
    	while(c < '0' || c >'9')c = getchar(); 
    	while(c <= '9' && c >= '0')x = x * 10 + c - '0',c = getchar(); 
    	return x; 
    } 
    struct node {
    	LL a;int b; 
    	bool operator < (const node &x)const { 
    		return b > x.b; 
    	} 	
    } a[1007]; 
    int b[67]; 
    LL bin[67]; 
    int main() { 
    	bin[0] = 1;for(int i = 1;i <= 63;++ i) bin[i] = bin[i - 1] << 1; 
    	int n = read(); 
    	int ans = 0; 	
    	for(int i = 1;i <= n;++ i) a[i].a = read(),a[i].b = read(); 
    	std::sort(a + 1,a + n +1); 
    	for(int i = 1;i <= n;++ i) { 
    		for(LL j = 63;j >= 0;-- j) {
    			if(a[i].a & bin[j]) { 
    				if(!b[j]) { b[j] = i;break;} 
    				else a[i].a ^= a[b[j]].a; 
    			} 
    		} 
    		if(a[i].a) ans += a[i].b; 
    	} 
    	printf("%d
    ",ans); 
    	return 0;
    }  
    
  • 相关阅读:
    分布式
    jdk与jre的区别
    rabbitmq
    dicom错误解决
    centos6.5搭建hadoop完整教程
    spark
    Oracle索引扫描
    Oracle的rowid结构解析
    PL/SQL — 集合及常用方法
    PL/SQL — 变长数组
  • 原文地址:https://www.cnblogs.com/sssy/p/9201338.html
Copyright © 2011-2022 走看看