题意

给定一个数列a,然后定义 b i = a 1 ⨁ a 2 ⨁ a 3 . . . ⨁ a i b_i=a_1 \bigoplus a_2 \bigoplus a_3... \bigoplus a_i bi​=a1​⨁a2​⨁a3​...⨁ai​
调整a的顺序,使得b的字典序最大

题解

我们可以建一个大根堆,设堆顶为z,判断一下z&ans是否等于0,如果是那就是要选的数,否则就将z弹出,将z-=z&ans放入堆中。

code

#include<cstdio>
#include<algorithm>
#include<queue>
#define fo(i,a,b) for (int (i)=(a);(i)<=(b);(i)++)
using namespace std;
const int N=2e5+5;
typedef long long ll;
int a[N],n,tot;
ll b[40],ans,xx,yy;
struct node{int x,y;
};
node k;
priority_queue<node> q;
bool operator < (const node &a, const node &b){return a.x<b.x;
}
int main(){//  freopen("data.in","r",stdin);int T;scanf("%d",&T);b[0]=1;fo(i,1,30) b[i]=b[i-1]*2;while (T--){scanf("%d",&n);fo(i,1,n) scanf("%d",&a[i]);fo(i,1,n) q.push((node){a[i],a[i]});ans=0; tot=0;while (tot<n) { while (1) {k=q.top();q.pop();xx=k.x;yy=k.y;if ((ans&xx)) {xx-=ans&xx;q.push((node){xx,yy});}else{ans|=xx;printf("%d ",yy);tot++;break;}}}printf("\n");}return 0;
}

cf 827div 4 G相关推荐

  1. CF:1674 G. Remove Directed Edges

    题目链接 题意:给出有向无环图,删去若干条边,使得满足以下两个条件: (1)对于每一个结点,其出边比原来少,除非初始出边就为0: (2)对于每一个结点,其入边比原来少,除非初始入边就为0: 操作后,选 ...

  2. 记忆网络RNN、LSTM与GRU

    RNN 结构 训练 应用 RNN Variants LSTM 结构 梯度消失及梯度爆炸 GRU 结构 一般的神经网络输入和输出的维度大小都是固定的,针对序列类型(尤其是变长的序列)的输入或输出数据束手 ...

  3. python自动化读取和写入文件_基于Python的接口自动化实战-基础篇之读写配置文件...

    引言 在编写接口自动化测试脚本时,有时我们需要在代码中定义变量并给变量固定的赋值.为了统一管理和操作这些固定的变量,咱们一般会将这些固定的变量以一定规则配置到指定的配置文件中,后续需要用到这些变量和变 ...

  4. Fast Fourier Transform

    写在前面的.. 感觉自己是应该学点新东西了.. 所以就挖个大坑,去学FFT了.. FFT是个啥? 坑已补上.. 推荐去看黑书<算法导论>,讲的很详细 例题选讲 1.UOJ #34. 多项式 ...

  5. 【算法】【网络流24题】巨坑待填(成功TJ,有时间再填)

    ------------------------------------------------------------------------------------ 17/24 --------- ...

  6. [NowCoder]牛客网NOIP赛前集训营-提高组(第六场)题解

    A.最长路 题意:给定有向图,每条边有个字符\([0,10^9]\),求每个点最长路字典序最小的方案.\(N,M\le 10^6\) 建反图跑拓扑排序,显然入过队的点都有最长路,考虑如何判断字典序大小 ...

  7. c#MVC文件(图片,word,excel,zip等)批量上传

    最近一直研究文件批量上传,功夫不负有心人终于解决了. 该文件上传使用队里的新式,实现了文件批量上传. 首先看一下我前端的处理操作 @{Layout = ""; }<!DOCT ...

  8. Echarts-----map(单独省级地图)

    echarts.registerMap('henan', 河南);//hennanJson名称取自henan.js里的var henanJson变量名 这一句有错哎,不知道写成什么了... 附上hen ...

  9. 产生任意进制乘法表的程序代码

    现在的小学生从二年级上学期开始学习九九乘法口诀表,不知道大家想过这个问题没有,就是为什么乘法口诀表是十进制的呢?当然是因为我们从小学习算术是从十进制记数开始的,但是为什么人们选择了十进制来记数呢? 实 ...

最新文章

  1. LeetCode 300. Longest Increasing Subsequence--O(n log n)--Java,C++,Python解法
  2. Linux平台Java调用so库-JNI使用例子
  3. beego 显示html文件,[Beego] 内置的模板函数(不同格式的字符串和html的互转)
  4. mysql查询特定时间数据视频_mysql查询特定时间段内的数据
  5. html to txt研究
  6. 3分钟搞定 C++ if else 语句 05
  7. 解决: service endpoint with name xxx already exists ( docker 已删除的容器却依旧存在)
  8. HTML+CSS+JS实现 ❤️h5酷炫的天体木星动画特效❤️
  9. Struts2 第9part 通过实现ModelDriven来接收参数
  10. 【java】java 线程状态之 TIMED_WAITING
  11. SEO优化之——html页面相关总结
  12. 【转】千万级并发实现的秘密:内核不是解决方案,而是问题所在!
  13. 微软Azure Services Bus中的工作流
  14. 等宽字体 Monospaced Font
  15. 基于python的微博舆情分析与研究—以《北京冬奥会》为关键词
  16. 锁定计算机程序到任务栏,程序图标不能锁定到任务栏?这样做so easy啦!
  17. windows系统下scheme语言编程环境的搭建
  18. ResNet网络 残差块的作用
  19. 保姆教程:mac ssh密钥连接Linux
  20. 四级英语作文:拯救动物

热门文章

  1. 分享几个AI绘图的学习网址
  2. 实现app第三方QQ授权登录
  3. python手记(四):pillow(一) Image类简单图片处理
  4. 计算等额本金和等额本息的还款详情的软件
  5. 如果linux虚拟机没网络网卡怎么办检查没ens33网卡
  6. 呵护你上上下下的享受:国内电梯保险概览
  7. 【JAVA】如何判断对象已经死亡?
  8. 最简单的用js模拟计算器进行计算(初级)
  9. gurobi求解日志log篇
  10. 密码学里的数学知识之