bzoj2460元素(线性基,贪心)】的更多相关文章

题目链接: 洛谷 BZOJ 题意 给定 \(n\) 个矿石,每个矿石有编号和魔力值两种属性,选择一些矿石,使得魔力值最大且编号的异或和不为 0. 思路 线性基 贪心 根据矿石的魔力值从大到小排序. 线性基的所有异或和都不为零.因此维护一个线性基,每次插入编号 \(i\),如果 \(i\) 与之前的线性基都线性无关,也就是能插入,就插入并将魔力值累加到 \(ans\). #include <bits/stdc++.h> using namespace std; typedef long long…
题目大意: 有一些矿石,每个矿石有一个a和一个b值,要求选出一些矿石,b的和最大且不存在某个矿石子集它们的a的异或和为0. 解题关键:对魔力进行由大到小排序,依次加入线性基,统计即可. #include<cstdio> #include<cstring> #include<algorithm> #include<cstdlib> #include<iostream> #include<cmath> using namespace st…
题目链接 线性基:https://blog.csdn.net/qq_36056315/article/details/79819714. \(Description\) 求一组矿石,满足其下标异或和不为0,且价值和最大. \(Solution\) 按价值从大到小依次插入线性基,这样最后得到的集合就是价值和最大的了. 贪心策略简单证明(参考:https://www.cnblogs.com/acmsong/p/7508022.html): 假设当前选取的集合\(S\)价值为\(\{v1,v2,...…
P4570 [BJWC2011]元素 声明:本博客所有题解都参照了网络资料或其他博客,仅为博主想加深理解而写,如有疑问欢迎与博主讨论✧。٩(ˊᗜˋ)و✧*。 题目描述 给你 \(n\) 个二元组 \((x, y)\),从中选取任意个,构成集合 \(S\),其中不允许存在某个 \(S\) 的子集中的 \(x_i\) 异或起来为 \(0\).求 \(\sum_{i\in S} y_i\) 的最大值 输入格式 第一行包含一个正整数 \(N\),表示二元组个数. 接下来 \(N\) 行,每行两个正整数…
题意 给定n个物品,每个物品有一个编号和价值,问如何取使得拿到的物品价值总和最大,并且取得物品的编号的子集异或和不能为0. 思路 这是个贪心,我们先按照价值从大到小排序,然后贪心地取,如果当前要取的物品的编号和之前取的存在异或为0的情况,我们就丢弃这个物品,否则加入.判断异或为0可以用线性基来做.具体证明参考 #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include <algorithm>…
正解:线性基+贪心 解题报告: 传送门! 这题其实没什么好写题解的,,,显然贪心一下尽量选魔力大的,不用证明趴挺显然的来着 所以就直接按魔力排个序,插入线性基里面,能插就加个贡献,over 放下代码趴QwQ (我好像,真的,写得越来越敷衍了TT #include<bits/stdc++.h> using namespace std; #define il inline #define ll long long #define gc getchar() #define rc register c…
3105: [cqoi2013]新Nim游戏 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 839  Solved: 490[Submit][Status][Discuss] Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根,也可以拿走整堆火柴,但不能同时从超过一堆火柴中拿.拿走最后一根火柴的游戏者胜利. 本题的游戏…
按价值从大到小考虑每个元素,维护一个线性基,如果向其中加入该元素的编号仍然构成线性基,则将其加入. 不会证明.当做线性基的一个性质吧. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define ll long long #…
2460: [BeiJing2011]元素 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 2195  Solved: 1119[Submit][Status][Discuss] Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石.一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而使用了很多矿石,却在炼制过程…
元素 Time Limit: 20 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术. 那时人们就认识到,一个法杖的法力取决于使用的矿石. 一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而使用了很多矿石,却在炼制过程中发现魔法矿石全部消失了,从而无法炼制出法杖,这个现象被称为“魔法抵消”. 特别地,如…