题意比较简单吧,就是要你求一对魔法石的集合,并且这些东西都是线性无关的,要是集合的魔力值总和最大

总的来说就是一个线性基模板题。。

我们先将他排序,接着贪心地插入就好了,正确性可以类比于最小生成树,匈牙利等算法,毕竟这也是一个有可以互相推倒性质的东西

有关线性基,我可以感性地认识一下,但你要我十分理性地讲解,估计还不能很好地讲出。。

说一下我学习的时候的当时没有理解好的问题吧吧:

1.线性基中的数不一定是原数的集合中出现过的

2.原数都可以由线性基里的数推出

3.线性基里面的数都可以由原数推出,这个我们可以从他的构造方法得出

同时,这也是线性基的基础

因为要是可以不由原数推出的话,我们直接选择1,10,100,1000,10000就可以解决1,2的问题了

但这显然不是我们想要的

至于怎么得出一个数如何为数集里面得出

我们只需要对线性基的每一位保存一个路径,到时候先用基底弄出这个数,然后将其对应路径输出就可以了。。最好还要去重

这是是我自己yy的,具体我也没有写过。。

有关线性基的板子,可以看这里

code:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
typedef long long LL;
const LL N=1005;
LL n;
struct qq
{LL id,x;
}s[N];
bool cmp (qq a,qq b){return a.x>b.x;}
LL p[65];
bool ins (LL x)
{for (LL u=62;u>=0;u--){if (x>>u&1){if (p[u]==-1) {p[u]=x;return true;} x^=p[u];}}return false;
}
int main()
{memset(p,-1,sizeof(p));scanf("%lld",&n);for (LL u=1;u<=n;u++) scanf("%lld%lld",&s[u].id,&s[u].x);sort(s+1,s+1+n,cmp);LL ans=0;for (LL u=1;u<=n;u++)if (ins(s[u].id)==true)ans=ans+s[u].x;printf("%lld\n",ans);return 0;
}

2460: [BeiJing2011]元素 有关线性基的理解相关推荐

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

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

  2. bzoj2460 [BeiJing2011]元素 贪心+线性基

    线性基其实和向量关系很近.只是他们都是单位向量 然后重复的01组判断方式类似高斯消元判无消方程的情况 由于出现无解方程类似于一个环,所以这个线性无关组就类似一棵树,所以就可以用类似kruskal的方法 ...

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

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

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

    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. Bzoj 2460: [BeiJing2011]元素

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

  8. 【bzoj 2460 [BeiJing2011]元素】

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

  9. P4570 [BJWC2011]元素(线性基+贪心)

    题目链接:https://www.luogu.org/problem/P4570 题目大意: 给一个序列,在这个序列中选一些数,这些数的魔法值之和要最大,要求这些数中任意几个数的异或和不为0. 解题报 ...

最新文章

  1. 跟我学Kafka源码Producer分析
  2. v-if 和 v-else-if 和v-else的使用
  3. 两种方式调试JNI中DLL(动态链接库)
  4. 感知重塑与忠诚建立:车企营销的两大新机遇
  5. 揭开腾讯IDC节能环保黑科技
  6. ftp网页版服务器地址,免费ftp服务器地址汇总
  7. 控制系统计算机仿真源码,控制系统计算机仿真-实验五.doc
  8. shell 日期格式化输出
  9. lammps教程:磨屑原子Ovito后处理教程
  10. getchar函数详解看这一篇就够了-C语言(函数功能、使用、返回值)
  11. 字体 流光css,实例详解CSS3制作文字流光渐变特效
  12. 会说话的代码 Python pyttsx3,及AttributeError:partially initialized module......(......)报错,解决方法
  13. 什么是RAID?RAID有什么用?RAID原理
  14. 除了Navicat和DBeaver,还有没有免费又好用的数据库管理工具推荐
  15. c语言程序小猪佩奇,使用canvas 代码画小猪佩奇(示例代码)
  16. android集成友盟u app,友盟U-Mini小程序集成指南
  17. SRM 615 D1L2: LongLongTripDiv1
  18. 一场来自于国内企业网盘间的战争
  19. 什么是BeanDefination
  20. Gem5和NVMain集成使用教程

热门文章

  1. JavaWeb新闻发布及管理系统(含源码+论文+答辩PPT等)
  2. go build 无文件_用一句话描述Go语言的命令
  3. dockr 配置文件修改_怎么修改docker容器里的配置文件
  4. 计算机中丢失vcruntime140_1.dll,要怎么修复这个问题
  5. 国产软件CVE漏洞分析系列:泛微OA系统 漏洞编号:SSV-91661
  6. “敬老孝亲颂家风 做美德传承人”主题实践活动总结
  7. Bitwig Studio 4 v4.3 WiN-MAC-Linux 跨多平台音乐制作软件
  8. JAVA EE开发环境准备
  9. 水污染遥感监测的基本原理
  10. 5G毫米波AAU BBU 简单汇总