CF1163E
CF1163E
首先存在p的要求是能建一个满的线性基而且线性基用到的数不能大于等于\(2^x\)
这很好解决,只要把所有数排序后从小到大的插进线性基,然后每次删掉所有原数大于\(2^x\)的数并调整x
至于输出p,由于能插进线性基里的数都是线性不相关的,随便输出一下就行
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int M = 410001;
int n,m,k,a[M],d[30],fr[30],b[M];
void ins(int x,int t)
{
for(int i=20;i>=0;i--)
{
if(!((x>>i)&1)) continue;
if(!d[i]){fr[i]=t, d[i]=x; k++; return;}
x^=d[i];
}
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
sort(a+1,a+1+n);
for(int i=1;i<=n;i++) ins(a[i],a[i]);
k=0;
while(d[k]) k++;
while(1 && k)
{
int B=1;
for(int i=0;i<k;i++)
if(fr[i]>=1<<k)
{
B=0; k=i;
break;
}
if(B) break;
}
printf("%d\n",k);
int x=0;
for(int i=1;i<=1<<k;i++)
{
printf("%d ",x); b[x]=1;
for(int j=0;j<k;j++) if(!b[x^fr[j]])
{
x=x^fr[j];
break;
}
}
}
CF1163E的更多相关文章
- CF1163E Magical Permutation(线性基,构造)
虽然做起来有一点裸……但是就是想不到啊…… 首先令 $d_i=p_i\oplus p_{i-1}$,那么 $d_i$ 都是 $S$ 中的数,$a_i=d_i\oplus d_{i-1}\oplus \ ...
- CF1163E Magical Permutation【线性基,构造】
题目描述:输入一个大小为\(n\)的正整数集合\(S\),求最大的\(x\),使得能构造一个\(0\)到\(2^x-1\)的排列\(p\),满足\(p_i\oplus p_{i+1}\in S\) 数 ...
- CF1163E Magical Permutation
题意:给定集合,求一个最大的x,使得存在一个0 ~ 2x - 1的排列,满足每相邻的两个数的异或值都在S中出现过.Si <= 2e5 解:若有a,b,c,令S1 = a ^ b, S2 = b ...
- 在$CF$水题の记录
CF1158C CF1163E update after CF1173 很好,我!expert!掉rating了!! 成为pupil指日可待== 下次要记得合理安排时间== ps.一道题都没写的\(a ...
随机推荐
- 【目录】linux 编程
随笔分类 - linux 编程 Linux编程 24 shell编程(结构化 if [ condition ] 数值比较,字符串比较) 摘要: 一.概述 接着上篇讲的结构化命令,最后讲到了test命令 ...
- C#设计模式:观察者模式(Observer Pattern)
一,什么是观察者模式(Observer Pattern)? 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern).比如,当一个对象被修改时,则会自动通知它的依赖对象 二,代码 ...
- java当中的Timer定时器的4种使用方式
import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask ...
- python函数参数*args **kwargs
毕业多年,把C++都就饭吃了....今天居然在纠结什么是形参什么是实参..... 定义函数里面写的参数就是形参,因为没有内存占用,实际调用时写的参数就是实参,因为有内存占用和传值 然后就是位置参数,可 ...
- zk 后台调用前台点击事件
Events.echoEvent(new Event(Events.ON_CLICK, view.getFellow("showYjdkhMessage"))); showYjdk ...
- 20150127 学军集训 day1
day1 就直接考试... 和说好的不一样啊 第一题看都没怎么看就pass了,构造的题我一向没什么把握.然后瞟到第三题有30分可做,虽然要写的代码很大...反正我是写习惯了..期间纠结了一会还写了一个 ...
- PHP filter_id() 函数
定义和用法 filter_id() 函数返回指定过滤器的 ID 号. 如果成功则返回过滤器的 ID 号,如果过滤器不存在则返回 NULL. 语法 filter_id(filter_name) 参数 描 ...
- (转)Spring Boot干货系列:(七)默认日志logback配置解析
转:http://tengj.top/2017/04/05/springboot7/ 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的, ...
- idea 配置idk
[Toc] #一.idea配置全局jdk ##1.1 File-->Project Structure ##1.2 选择SDKs ##1.3 选择jdk路径即可,可以添加多个jdk #二.配置项 ...
- 测试技能图谱skill-map
# 测试技能图谱 ## 代码静态分析- Sonar- PMD- Infer- Android * findbugs * AndroidLint * CheckStyle- iOS * scanbuil ...