BZOJ 2460 元素(贪心+线性基)
来源:互联网 发布:linux wps 编辑:程序博客网 时间:2024/06/06 17:14
Description
相传,在远古时期,位于西方大陆的
Input
第一行包含一个正整数
Output
仅包一行,一个整数:最大的魔力值
Sample Input
3
1 10
2 20
3 30
Sample Output
50
Solution
问题转化为求一组关于序号的极大无关组且组内元素魔力和最大,贪心的矿石按魔力值从大到小排序,然后求线性基即可(贪心的证明需用到拟阵)
Code
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#include<queue>#include<map>#include<set>#include<ctime>using namespace std;typedef long long ll;typedef pair<int,int>P;const int INF=0x3f3f3f3f,maxn=1005;int n;ll base[66];struct node{ ll num; int magic; bool operator<(const node&b)const { return magic>b.magic; }}a[maxn];int main(){ while(~scanf("%d",&n)) { for(int i=1;i<=n;i++)scanf("%lld%d",&a[i].num,&a[i].magic); sort(a+1,a+n+1); memset(base,0,sizeof(base)); int ans=0; for(int i=1;i<=n;i++) for(int j=62;j>=0;j--) if((a[i].num>>j)&1) { if(!base[j]) { base[j]=a[i].num; ans+=a[i].magic; break; } else a[i].num^=base[j]; } printf("%d\n",ans); } return 0;}
- BZOJ 2460 元素(贪心+线性基)
- bzoj 2460: [BeiJing2011]元素 线性基+贪心
- BZOJ 2460 元素 线性基+贪心
- [BZOJ]2460: [BeiJing2011]元素 线性基+贪心
- [高斯消元 线性基 贪心 拟阵] BZOJ 2460 [BeiJing2011]元素
- BZOJ 2460 [贪心][线性基]
- bzoj 2460: [BeiJing2011]元素(线性基)
- BZOJ 2460 元素 (线性基)
- 线性基(bzoj 2460: [BeiJing2011]元素)
- 【bzoj 2460】元素(线性基)
- [BZOJ]2460 元素 线性基
- 2460: [BeiJing2011]元素 贪心+线性基
- 2460: [BeiJing2011]元素|线性基|高斯消元|贪心
- BZOJ 2460 [BeiJing2011]元素 线性基入门
- 【BZOJ2460】元素,线性基+贪心
- 贪心+线性基 [BeiJing2011]元素
- BZOJ 4004 装备购买(贪心+线性基)
- BZOJ 2115 WC2011 Xor 线性基+贪心
- Matlab图像增强——空间域图像增强之基础
- Netty学习开发之路
- Spring框架究竟是什么
- Android项目如何将同一套代码应用于多个项目
- JVM 调优--查看jvm可用内存
- BZOJ 2460 元素(贪心+线性基)
- 转载-C++面向对象
- java实现二叉树(打印直观,易于理解)
- 设计模式——原型模式
- spring——(3)Aware接口
- 小程序展示评分结果合评分功能
- pyspider 爬虫教程(一)
- excel截取前、中、后几个字符串的方法
- git相关命令-上