2460: [BeiJing2011]元素

Time Limit: 20 Sec  Memory Limit: 128 MB
Submit: 333  Solved: 176
[Submit][Status][Discuss]

Description

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

Input

第一行包含一个正整数N,表示矿石的种类数。 
  接下来 N行,每行两个正整数Numberi 和 Magici,表示这种矿石的元素序号
和魔力值。

Output

仅包一行,一个整数:最大的魔力值

Sample Input

3
1 10
2 20
3 30

Sample Output

50

HINT

由于有“魔法抵消”这一事实,每一种矿石最多使用一块。

如果使用全部三种矿石,由于三者的元素序号异或起来:1 xor 2 xor 3 = 0 ,

则会发生魔法抵消,得不到法杖。

可以发现,最佳方案是选择后两种矿石,法力为 20+30=50。

对于全部的数据:N ≤ 1000,Numberi ≤ 10^18

,Magici ≤ 10^4

Source

Day

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<cstdlib>
using namespace std;
int n;
long long ins[65];
struct node
{long long x;int y;
}e[1005];
bool cmp(node a,node b)
{if(a.y==b.y)return a.x>b.x;return a.y>b.y;
}
int main()
{int ans=0;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%lld%d",&e[i].x,&e[i].y);}sort(e+1,e+1+n,cmp);for(int i=1;i<=n;i++){for(int j=63;j>=0;j--){if((e[i].x>>j)&1){if(!ins[j]){ins[j]=e[i].x;break;}elsee[i].x^=ins[j];}}if(e[i].x)ans+=e[i].y;}printf("%d\n",ans);return 0;
}

  

转载于:https://www.cnblogs.com/water-full/p/4501388.html

(线性基) bzoj 2460相关推荐

  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]元素 线性基+贪心

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

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

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

  5. BZOJ 2844 | HYSBZ - 2844albus就是要第一个出场——线性基

    [题目描述] BZOJ 2844 | HYSBZ - 2844albus [题目分析] 题目的意思大概是给一个数列,他有2n个子集,每个子集的元素的异或和构成新的一个数列,排序后问数字Q在这个序列里面 ...

  6. bzoj 3811 玛里苟斯 - 线性基

    题目传送门 传送门I 传送门II 题目大意 给定集合$S$,问集合$S$的任意选一个子集的异或和的$k$次幂期望. 保证答案在$2^{63}$内. 注意到答案在$2^{63}$内,所以,当$k \ge ...

  7. BZOJ.4184.shallot(线段树分治 线性基)

    BZOJ 裸的线段树分治+线性基,就是跑的巨慢_(:з」∠)_ . 不知道他们都写的什么=-= //41652kb 11920ms #include <map> #include < ...

  8. BZOJ 2115 [Wc2011] Xor ——线性基

    [题目分析] 显然,一个路径走过两边是不需要计算的,所以我么找到一条1-n的路径,然后向该异或值不断异或简单环即可. 但是找出所有简单环是相当复杂的,我们只需要dfs一遍,找出所有的环路即可,因为所有 ...

  9. 【BZOJ 4671】异或图 【斯特林反演】【线性基】【贝尔数复杂度】

    传送门 题意:定义两个图的异或的边集为在两张图中恰出现一次的边.给sss张nnn个点的图的集合,求异或和为连通图的子集数. s≤60,n≤10s \leq 60,n \leq 10s≤60,n≤10 ...

最新文章

  1. 计算机的起源英语作文,冰箱的起源英语作文
  2. 【杂谈】为了让大家学好深度学习模型设计和优化,有三AI都做了什么
  3. JDK1.8源码(二)——java.lang.Integer 类
  4. 液晶弹性自由能计算_自由能方法应用(一)开放计算平台BRIDGE的介绍及使用案例...
  5. C# 设置Word文档中图片的大小
  6. 成绩转换(百分制到五级制的转换)-(只作新手参考)
  7. 走进R语言的世界——简单数据处理
  8. IDEA导入MySQL驱动包(Mac版)
  9. 光纤接头(尾纤)ST,SC,LC,FC 模块
  10. java定时器频率自定义_@Scheduled 定时器 cron表达式自定义配置
  11. uniapp 小程序生成二维码 (兼容H5、微信小程序)
  12. 51单片机通过74HC595控制8位数码管,在任意位置显示数字
  13. 【老生谈算法】matlab实现一维曲线分形维数算法源码——一维曲线分形维数
  14. 多种导出方式,教你快速将每个快递信息导出CSV表格
  15. 阻塞队列(二):PriorityBlockingQueue
  16. 编程都该学什么语言?几个流行编程语言对比
  17. Variant 数据类型介绍
  18. 色温,色阶,色调,色调
  19. zoj 2334 Monkey King
  20. 联想计算机boss设置,联想电脑bios设置图解教程

热门文章

  1. 数据科学项目(二)之明确问题及确立目标
  2. oracle日志表设计,数据库设计 – 数据库日志表结构
  3. php unset 多可以什么_php unset()销毁单个或多个变量
  4. 弗吉尼亚理工计算机科学排名,2020年弗吉尼亚理工大学排名TFE Times美国最佳计算机科学硕士专业排名第45...
  5. 大数据平台CDH搭建
  6. getelementbyid获取不到js加载的元素_Selenium元素定位不到?JS注入轻松搞定!
  7. 我的世界java版tis,我的世界1.7.10~1.8.8 9tis-3d回到汇编的时代mod
  8. php科学计算库,科学计算库numpy基础
  9. 星空主题设计理念_敏捷协调,智慧运营:金蝶云·星空的产品设计理念与应用实践...
  10. 嵌入式工程师最后都选择了什么职位?