[bzoj2460][BJOI2011]元素

只有0-1的高斯消元法,还是挺简单的

#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;

typedef long long LL;
int n,ans;
pair<int,LL> a[1001];
LL s[64];

inline bool ins(LL x){
    for(int i=0;x!=0;i++) if(x&(1LL<<i)){
        if(s[i]==0) {
            s[i]=x; return 1;
        }
        else x^=s[i];
    }
    return 0;
}

int main(){
    ios_base::sync_with_stdio(0);
    cin>>n;
    for(int i=0;i<n;i++) cin>>a[i].second>>a[i].first;
    sort(a,a+n);
    for(int i=n-1;i>=0;i--) if(ins(a[i].second)) ans+=a[i].first;
    cout<<ans<<endl;
    return 0;
}
时间: 2024-12-07 09:36:55

[bzoj2460][BJOI2011]元素的相关文章

[BZOJ2460][BJOI2011]元素(线性基)

2460: [BeiJing2011]元素 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 2195  Solved: 1119[Submit][Status][Discuss] Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石.一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而使用了很多矿石,却在炼制过程

【贪心】【线性基】bzoj2460 [BeiJing2011]元素

题意:让你求一些数在XOR下的带权极大无关组. 带权极大无关组可以用贪心,将这些数按权值从大到小排序之后,依次检验其与之前的数是否全都线性无关.可以用线性基来搞. 可以用拟阵严格证明,不过也可以脑补一下…… #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; ll d[64],p[64]; int cnt;//简化线性基的大小 bool Insert(ll val){//尝试

[BZOJ2460][BeiJing2011]元素

2460: [BeiJing2011]元素 Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 1632  Solved: 848 [Submit][Status][Discuss] Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔 法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石. 一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而 使用了很多矿石,却在

【题解】 bzoj2460: [BeiJing2011]元素 (线性基)

bzoj2460,戳我戳我 Solution: 线性基板子,没啥好说的,注意long long 就好了 Code: //It is coded by Ning_Mew on 5.29 #include<bits/stdc++.h> #define LL long long using namespace std; const int maxn=1007; int n; LL A[maxn]; struct Node{ LL num;int val; }s[maxn]; LL ans=0; bo

[bzoj2460] [BeiJing2011]元素(线性基+贪心)

题目大意: 有一些矿石,每个矿石有一个a和一个b值,要求选出一些矿石,b的和最大且不存在某个矿石子集它们的a的异或和为0. 解题关键:对魔力进行由大到小排序,依次加入线性基,统计即可. #include<cstdio> #include<cstring> #include<algorithm> #include<cstdlib> #include<iostream> #include<cmath> using namespace st

【BZOJ-2460&amp;3105】元素&amp;新Nim游戏 动态维护线性基 + 贪心

3105: [cqoi2013]新Nim游戏 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 839  Solved: 490[Submit][Status][Discuss] Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根,也可以拿走整堆火柴,但不能同时从超过一堆火柴中拿.拿走最后一根火柴的游戏者胜利. 本题的游戏

【bzoj2460】[BeiJing2011]元素

2460: [BeiJing2011]元素 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 692  Solved: 372[Submit][Status][Discuss] Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石.一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而使用了很多矿石,却在炼制过程中发

【bzoj2460】 BeiJing2011—元素

www.lydsy.com/JudgeOnline/problem.php?id=2460 (题目链接) 题意:n个二元组(a,b),求一个∑b最大,且所有子集XOR<>0的集合 Solution  线性基的经典应用.具体证明好像要用到拟阵,不会,好像是很高深的东西. 代码: // bzoj2460 #include<algorithm> #include<iostream> #include<cstdlib> #include<cstring>

【bzoj2460】[BeiJing2011]元素 贪心+高斯消元求线性基

题目描述 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石.一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而使用了很多矿石,却在炼制过程中发现魔法矿石全部消失了,从而无法炼制出法杖,这个现象被称为“魔法抵消” .特别地,如果在炼制过程中使用超过一块同一种矿石,那么一定会发生“魔法抵消”. 后来,随着人们认知水平的提高,这个现象得到了很好的解释.经过了大量的实验后,著名法师 D