educoder 二进制数据的位运算_关于位运算的一些有趣的题目

神奇的数据结构——线性基

参考资料:CSU-ICPC集训课程 线性基_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.coma55f87b2381289ea536b7644bce93bbf.png线性基详解_Python_a_forever_dream的博客-CSDN博客​blog.csdn.net03ee956dc986fd3f9bf617ea656a9c7e.png

其中第一个视频提到那么多方法....然而我觉得我只学会了线性基最基本的方法和求第k小....其他等遇到再学吧,毕竟我这么菜。

哦对了,顺便提一下,据说线性基其实和线性代数中矩阵是存在很大关系的,包括求线性基其实本质就是高斯消元无回带。

线性基本质就是一串集合,不会可以自己看这两个博客....我只是负责记录题目的机器。

顺便分析一下,其实线性基本质就是一个“内容不唯一但是长度唯一”的集合。

题目记录:[BJWC2011]元素 - 洛谷​www.luogu.com.cn

之前以为线性基只能做傻逼模板题,然后瞬间被打脸了....生疼.jpg

分析:线性基基本性质之一:数量唯一,当数量满了之后,必定会存在子集使得在插入任何一个数,为0.(线性基的本质是组建一个集合,使得整个集合的子集可以搭建原集合中的任意一个非零值,零需要特判)

所以很显然,按照魔力排序然后插入就好了。[TJOI2008]彩灯 - 洛谷​www.luogu.com.cn

分析:题目本质上是要求多少种排列,直接线性基就好了后算非空的有多少种即可。

原因:线性基中的数就可以代表其他数了。

一些其他有趣的题目:Problem - 925C - Codeforces​codeforces.com10cd158a89d58452a294b7cf8bee931d.png

只看题目的话可能觉得他就是一个非常常见的问题:b1~bn,其中ai = b1^b2^b3....等等

求解方式多样,可以自己思考,不过抓住本质就可以(我觉得和线性基非常相像)

异或最小生成树

这是一道非常神奇的例题。使用了一种以b开头的求最小生成树的思想。

思考分治处理联通块之间的关系,我们递归处理联通快,每个连通块只有在必须要连接时我们才会连接他们之间的最小边,于是就是建立字典树,然后在字典树上分治处理即可。

code(希望好好学习一下,因为其实我觉得这道题比较难,代码也不是很好写):

关于多校的b题一份参考代码(我觉得这个更有道理一些)

一道很有思维难度的数位dp and 卡常题Problem - 6899​acm.hdu.edu.cn

为什么说它卡常呢.....因为如果是通常的数位dp模板是通过不了的,但是如果你是使用将limit放进dp函数里面的话,是可以正常通过的(是不是非常神奇)。

接下来就是正常的数位dp了,可以直接搜索cometoj xor 这道题目(其实我觉得这道题不简单)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值