【BZOJ】2460: [BeiJing2011]元素

来源:互联网 发布:什么软件推广最好 编辑:程序博客网 时间:2024/06/01 08:22

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2460

贪心建立线性基即可

#include<stdio.h>#include<algorithm> typedef long long ll; struct node{    ll a;int b;    friend bool operator < (node a,node b){return a.b>b.b;}}p[2001]; ll a[63];int n,ans; int main(){    scanf("%d",&n);    for (int i=1;i<=n;i++) scanf("%lld%d",&p[i].a,&p[i].b);    std::sort(p+1,p+n+1);    for (int i=1;i<=n;i++)    {        for (int j=62;~j;j--) if (p[i].a>>j&1)        {            if (!a[j])            {                a[j]=p[i].a;                ans+=p[i].b;                break;            }            else p[i].a^=a[j];        }    }    printf("%d",ans);}
0 0