题意:
 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔
法矿石炼制法杖的技术。那时人们就认识到,一个法杖的法力取决于使用的矿石。
一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而
使用了很多矿石,却在炼制过程中发现魔法矿石全部消失了,从而无法炼制
出法杖,这个现象被称为“魔法抵消” 。特别地,如果在炼制过程中使用超过
一块同一种矿石,那么一定会发生“魔法抵消”。
后来,随着人们认知水平的提高,这个现象得到了很好的解释。经过了大量
的实验后,著名法师 Dmitri 发现:如果给现在发现的每一种矿石进行合理的编
号(编号为正整数,称为该矿石的元素序号),那么,一个矿石组合会产生“魔
法抵消”当且仅当存在一个非空子集,那些矿石的元素序号按位异或起来
为零。 (如果你不清楚什么是异或,请参见下一页的名词解释。 )例如,使用两
个同样的矿石必将发生“魔法抵消”,因为这两种矿石的元素序号相同,异或起
来为零。
并且人们有了测定魔力的有效途径,已经知道了:合成出来的法杖的魔力
等于每一种矿石的法力之和。人们已经测定了现今发现的所有矿石的法力值,
并且通过实验推算出每一种矿石的元素序号。
现在,给定你以上的矿石信息,请你来计算一下当时可以炼制出的法杖最多
有多大的魔力。

3
1 10
2 20
3 30
输出

50

题意懂了就好了,用到了线性基的一个性质,线性基中的每两个数xor都不会等于0,
然后在贪心的对获取的能量进行求和,最终就是可以得到的最大值。

#include<bits/stdc++.h>
#include <iostream>
#include <cmath>
#include <cstdio>
#include <stdlib.h>
#include <ctime>
using namespace std;
typedef long long ll;
typedef pair<int,int> PII;
const int inf = 0x3f3f3f3f;
const int mod = 1e9 + 7;
const int maxn = 1e6 + 5;
ll a[maxn];
struct Point{ll num,val;}point[maxn];
bool operator <(Point a,Point b){return a.val>b.val;}
int Build(ll p)
{for(int x=63;x>=0;--x){if(p&(ll(1ll<<x))){if(!a[x]){a[x]=p;break;}p^=a[x];}}if(p) return 1;return 0;
}int main()
{int n;cin>>n;memset(a,0,sizeof(a));for(int i=0;i<n;++i) cin>>point[i].num>>point[i].val;sort(point,point+n);ll ans=0;for(int i=0;i<n;++i)if(Build(point[i].num))ans+=point[i].val;cout<<ans<<endl;return 0;
}

【bzoj 2460 [BeiJing2011]元素】相关推荐

  1. 线性基(bzoj 2460: [BeiJing2011]元素)

    线性基: 包含最多h个数(a1, a2, a3, -, ah),其中ak如果存在,那么最高位一定是第k位 性质①:线性基中任意集合xor出来的数的值域 = 原数列任意集合xor出的数的值域 性质②:线 ...

  2. BZOJ 2460: [BeiJing2011]元素 线性基

    2460: [BeiJing2011]元素 Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔 法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法 ...

  3. Bzoj 2460: [BeiJing2011]元素

    原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=2460 Description 相传,在远古时期,位于西方大陆的 Magic Land 上, ...

  4. [BZOJ]2460: [BeiJing2011]元素 线性基+贪心

    Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔 法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石.一般地,矿石越多则法力越 ...

  5. 2460: [BeiJing2011]元素

    2460: [BeiJing2011]元素 Time Limit: 20 Sec   Memory Limit: 128 MB Submit: 788   Solved: 421 [ Submit][ ...

  6. 【Bzoj 2460 [BeiJing2011]】——元素 线性基+贪心

    Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔 法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石. 一般地,矿石越多则法力 ...

  7. 2460: [BeiJing2011]元素 有关线性基的理解

    题意比较简单吧,就是要你求一对魔法石的集合,并且这些东西都是线性无关的,要是集合的魔力值总和最大 总的来说就是一个线性基模板题.. 我们先将他排序,接着贪心地插入就好了,正确性可以类比于最小生成树,匈 ...

  8. (线性基) bzoj 2460

    2460: [BeiJing2011]元素 Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 333  Solved: 176 [Submit][Sta ...

  9. BZOJ2460: [BeiJing2011]元素(线性基+贪心)

    BZOJ2460: [BeiJing2011]元素 Time Limit: 20 Sec Memory Limit: 128 MB Description 相传,在远古时期,位于西方大陆的 Magic ...

最新文章

  1. C++中的容器(STL容器)container
  2. linux本地监听创建,linux 创建监听服务器
  3. 运行bert模型报错No module named ‘tensorflow.contrib‘
  4. c++ string类 用法简介
  5. 更改Android Studio中AVD的默认路径
  6. 查看用户过期linux,linux下控制帐户过期的多种方法讲解
  7. 网页如何做到适应在手机上浏览
  8. chatroom.php,chatRoom.php
  9. 三年开发三年管理,三个月努力5A成绩通过PMP就在51CTO!
  10. ansible的安装部署与模块使用
  11. cp: omitting directory”错误的解释和解决办法
  12. Ventrilo初学者指南,面向游戏玩家的VoIP应用
  13. ROCK Pi 4B+ 快速上手指南(Windows 平台)
  14. 如何快速在PDF文件中插入图片
  15. py-kms激活VOL
  16. 众多球员吐槽主办方 甘超宇:完全不像一个国际赛事
  17. 加油站优惠券组合方式
  18. 招聘 | 广州心理学公司招聘招商经理
  19. 关于IIC初始化后就进入busy状态的问题
  20. 度过有意义的生命(上)

热门文章

  1. 技术人生:我喜欢年纪不断变大
  2. Struts2的OGNL
  3. SQL Case When Then 条件判断
  4. flash与IPhone
  5. if,elif,else的关系 input print int的用法
  6. centos 修改ssh默认端口号
  7. 一秒解决CentOS下service 功能 不能使用 bash: service: command not found
  8. (转)SpringMVC学习(三)——SpringMVC的配置文件
  9. 值类型与引用类型(下)
  10. Bootstrap基础一 CSS 概览