P4570 [BJWC2011]元素 题解

这道题的解法:贪心+线性基。

由于线性基有一个优秀的性质:无论一个序列的线性基怎么变,其线性基内数的个数都是相同的,关键是看你怎么排列数的顺序,那么我们可以贪心。

考虑将所有石头按照魔力值从大到小排序,然后直接做线性基,能插入的数就加上其魔力值。

对于正确性证明:如果你对于线性基上面这个性质学过证明的话,这个是真的非常好证明的(甚至不用证)。


这里简要证明一下:

假设我们现在有一组线性基 d1,d2,...,dk,现在要插入 x,而 x 插入失败。

这说明 da1da2...daj=x

根据异或的性质:xda1...daj1=daj

那么实际上你调整这些数的插入顺序是没有问题的。

证毕。


Code:GitHub CodeBase-of-Plozia P4570 [BJWC2011]元素.cpp

posted @   Plozia  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示