bzoj 2460 线性基
#include<bits/stdc++.h>
#define ll long long
#define LL long long
#define int long long
using namespace std;
const int maxn=1e4+;
int a[maxn];
int b[maxn];
int p[];
int pp[];
int32_t main()
{
int n; cin>>n;
for(int i=;i<=n;i++) cin>>a[i]>>b[i];
for(int i=;i<=n;i++)
{
for(int j=;j>=;j--)
{
if( (a[i]>>j) & )
{
if(!p[j]) { p[j]=a[i]; pp[j]=b[i]; break; }
else
{
if(b[i]>pp[j])
{
swap(b[i],pp[j]);
swap(a[i],p[j]);
}
a[i]^=p[j];
}
}
}
}
int ans=;
for(int i=;i<=;i++)
{
ans+=pp[i];
}
cout<<ans<<endl; }
另一种求线性基的方法
for (int i = ; i <= n; i++) {
scanf("%d", &t);
for (int j = ; j < base.size(); j++) if((t^base[j]) < t) t ^= base[j];
if(t) base.pb(t);
}
bzoj 2460 线性基的更多相关文章
- [bzoj 2460]线性基+贪心+证明过程
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2460 网上很多题目都没说这个题目的证明,只说了贪心策略,我比较愚钝,在大神眼里的显然的策略 ...
- bzoj 2115 线性基
这种路径异或问题,可以转换为一条路径和若干个环的线性组合,然后就能用线性基搞了. 复习了一波线性基. #include<bits/stdc++.h> #define LL long lon ...
- BZOJ - 2844 线性基
题意:求给定的数在原数组中的异或组合中的排名(非去重) 因为线性基中\(b[j]=1\)表示该位肯定存在,所以给定的数如果含有该位,由严格递增和集合枚举可得,排名必然加上\(2^j\)(不是完全对角就 ...
- [bzoj 2844]线性基+高斯消元
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2844 又用到线性基+高斯消元的套路题了,因为经过高斯消元以后的线性基有非常好的序关系,所以 ...
- [bzoj 2115]线性基+图论
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2115 给定一个带权无向图,要找出从1到n路径权值异或和最大的那一条的路径异或和. 考虑1到 ...
- 就是要第一个出场的albus 【BZOJ】 线性基
就是我代码里读入之后的那一部分. 1.(一下a[]为原数组 a'[]为线性基) 线性基 中的a'[i]其实 是 原来的a[]中的某个子集(2^n个子集中的某个) 异或出来的 可能会有其他的子集与它异 ...
- BZOJ 3105 线性基 高斯消元
思路: 按照从大到小排个序 维护两个数组 一个是消元后的 另一个是 按照消元的位置排的 不断 维护从大到小 (呃具体见代码) //By SiriusRen #include <cstdio> ...
- -【线性基】【BZOJ 2460】【BZOJ 2115】【HDU 3949】
[把三道我做过的线性基题目放在一起总结一下,代码都挺简单,主要就是贪心思想和异或的高斯消元] [然后把网上的讲解归纳一下] 1.线性基: 若干数的线性基是一组数a1,a2,a3...an,其中ax的最 ...
- bzoj 2460 [BeiJing2011]元素 (线性基)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2460 题意: 给你一堆矿石,矿石有a,b两种性质,取任意个矿石,满足取得的这些矿石a性质异或 ...
随机推荐
- server time zone
问题原因 由于使用的Mysql数据库驱动版本太高,存在数据库和系统时区差异,所以出问题. 问题解决 Spring Boot配置文件中在url: jdbc:mysql://127.0.0.1:3306/ ...
- Linux 软连接 (ln命令)
这是linux中一个非常重要命令.它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件. 当我们需要在不同的目录,用到相同的文件 ...
- vue--vConsole
平时在web应用开发过程中,我们可以console.log去输出一些信息,但是在移动端,也就是在手机上,console.log的信息我们是看不到的. 这种情况下,可以选择使用alert弹出一些信息,但 ...
- [原]jsbsim 自动驾驶c310ap文件改写
<?xml version="1.0"?> <!-- Author: 南水之源 Date: 1 January 2019 Function: A-320 auto ...
- postman(六):详解在Pre-request Script中如何执行请求
上一篇借着如何在不同接口之间传递数据,简单说了下在postman编写脚本发送请求,这里再详细介绍一下如何在Pre-request Script和Tests标签中编写脚本.因为我目前研究的也不是很深,对 ...
- [Oracle11g] 通过伪列查询
oracle中的伪列默认第一行是1,所以可以选择<=rownum的方法选取,但是>是无法选取的.这时候需要固化伪列. 固化前可以这样查询:select * from 表名 where r ...
- English trip 自习内容 句子结构和成分
句子是由词按照一定的语法结构组成的.组成句子的各个部分叫做句子的成分,包括:主语(subject).谓语(predicate).宾语(accusative).定语.状语.补足语.表语
- [LeetCode]题1:two sum
Example: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0 ...
- Mysql按周,按月,按日,按小时分组统计数据
按周 select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; ...
- JS--reload 重新加载 true参数
location.reload() 作用是用来重新加载当前显示的页面. 如果调用reload()时不传递参数,页面就会以最有效的方式重新加载. 也就是说,如果页面自上次请求以来并没有改变过,页面就会从 ...