【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>
#include<cstdio>
#include<cmath>
#define LL long long
#define inf 2147483640
#define Pi acos(-1.0)
#define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
using namespace std; const int maxn=1010;
struct data {LL num;int x;}a[maxn];
LL bin[65];
int n,b[65]; bool cmp(data a,data b) {
return a.x>b.x;
}
int main() {
bin[0]=1;for (int i=1;i<=60;i++) bin[i]=bin[i-1]<<1;
scanf("%d",&n);
for (int i=1;i<=n;i++) scanf("%lld%d",&a[i].num,&a[i].x);
sort(a+1,a+1+n,cmp);
int ans=0;
for (int i=1;i<=n;i++) {
for (int j=60;j>=0;j--)
if (a[i].num&bin[j]) {
if (!b[j]) {b[j]=i;break;}
else a[i].num^=a[b[j]].num;
}
if (a[i].num) ans+=a[i].x;
}
printf("%d\n",ans);
return 0;
}
【bzoj2460】 BeiJing2011—元素的更多相关文章
- bzoj千题计划193:bzoj2460: [BeiJing2011]元素
http://www.lydsy.com/JudgeOnline/problem.php?id=2460 按魔力值从小到大排序构造线性基 #include<cstdio> #include ...
- BZOJ2460 [BeiJing2011]元素 【线性基】
2460: [BeiJing2011]元素 Time Limit: 20 Sec Memory Limit: 128 MB Submit: 1675 Solved: 869 [Submit][St ...
- BZOJ2460 Beijing2011元素(线性基+贪心)
按价值从大到小考虑每个元素,维护一个线性基,如果向其中加入该元素的编号仍然构成线性基,则将其加入. 不会证明.当做线性基的一个性质吧. #include<iostream> #includ ...
- BZOJ2460 [BeiJing2011]元素
Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石. 一般地,矿石越多则法力越 ...
- 【题解】 bzoj2460: [BeiJing2011]元素 (线性基)
bzoj2460,戳我戳我 Solution: 线性基板子,没啥好说的,注意long long 就好了 Code: //It is coded by Ning_Mew on 5.29 #include ...
- 【贪心】【线性基】bzoj2460 [BeiJing2011]元素
题意:让你求一些数在XOR下的带权极大无关组. 带权极大无关组可以用贪心,将这些数按权值从大到小排序之后,依次检验其与之前的数是否全都线性无关.可以用线性基来搞. 可以用拟阵严格证明,不过也可以脑补一 ...
- 【贪心】【线性基】bzoj2460 [BeiJing2011]元素 / bzoj3105 [cqoi2013]新Nim游戏
p2460: #include<cstdio> #include<algorithm> using namespace std; #define N 1001 typedef ...
- [bzoj2460] [BeiJing2011]元素(线性基+贪心)
题目大意: 有一些矿石,每个矿石有一个a和一个b值,要求选出一些矿石,b的和最大且不存在某个矿石子集它们的a的异或和为0. 解题关键:对魔力进行由大到小排序,依次加入线性基,统计即可. #includ ...
- 【BZOJ2460】[BeiJing2011]元素 贪心+高斯消元求线性基
[BZOJ2460][BeiJing2011]元素 Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法 ...
- 【bzoj2460】[BeiJing2011]元素
2460: [BeiJing2011]元素 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 692 Solved: 372[Submit][Statu ...
随机推荐
- 使用Unity开发Android的几种调试方法
前言 本文举例几种Android 调试的方法(PS:我是通过unity引擎来开发安卓游戏) Eclipse + adt 查看LOG 1.为Eclipse 装上adt 插件 2.打开Eclipse 的L ...
- 关于tcpdump抓包一个很详细的介绍
http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html
- Mybaits学习总结2
http://www.cnblogs.com/xdp-gacl/p/4262895.html 继续参考这篇文章写Mybaits学习总结 上一章,我修改了编码,统一为UTF8之后,便没有编码错误 < ...
- 安装grunt
1,npm install -g grunt-cli 2,npm install grunt --save 作为项目的依赖安装 这两步必不可少
- .NET 知识
1.读懂IL代码就这么简单 IL是.NET框架中中间语言(Intermediate Language)的缩写.使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的 ...
- 微软职位内部推荐-SW Engineer for Skype
微软近期Open的职位: We are the Skype Beijing team. Skype division drives the communications strategy for Mi ...
- Linux Linux程序练习六
题目:实现一个so库文件名称为listupper.so,so文件中实现一个函数,函数名为void upper(const char *src, char *desc),调用update后将参数src所 ...
- PHP基础14:$_REQUEST
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- g++编译总结
g++编译&&gdb调试&&coredump调试 一.编译注意细节 1.使用g++编译CPP文件如果用gcc编译C++源文件时,加以下选项:-lstdc++,否则使用了 ...
- RequiredFieldValidator 根据group组来触发验证
今天在开发过程中遇到了这样一个问题 在这个用户添加界面中,我使用了多个验证控件RequiredFieldValidator,分别控制用户名密码.在默认情况下,当单击“检查用户名”时,密码的验证控件也被 ...