链接:https://www.nowcoder.com/acm/contest/156/C
来源:牛客网

托米的位运算
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
托米完成了1317的上一个任务,十分高兴,可是考验还没有结束
说话间1317给了托米 n 个自然数 a1… an, 托米可以选出一些带回家,但是他选出的数需要满足一些条件
设托米选出来了k 个数 b1,b2… bk, 设这个数列 b 的给值为 b 中所有数按位与的结果,如果你能找到一个整除 b 的最大的 2v,(v≥ 0), 则设定 v 为这个数列的给价,如果不存在这样的 v,则给价值为 -1, 1317 希望托米在最大化给价的情况下,最大化 k
输入描述:
第一行输入一个整数 n, 第二行输入 a1…an
输出描述:
第一行输出最大的整数 k, 第二行输出 k 个整数 b1… bk, 按原数列的相对顺序输出 (如果行末有额外空格可能会格式错误)
示例1
输入
复制
5
1 2 3 4 5
输出
复制
2
4 5
备注:
n≤ 10^5, a1… an < 2^31

从30位开始判断当前位是否可以作为最大给价,如果存在,则直接输出;每一位找的数是当前位为1的数进行按位与。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int inf = 0x3f3f3f3f;
const int N = 1e5 + 5;
vector<int>ve;
int a[N];int main()
{int n;while(~scanf("%d",&n)){for(int i = 0;i < n;++i){scanf("%d",&a[i]);}for(int i = 30;i >= 0;--i){ve.clear();int tmp = (1 << i),x = (1 << i) - 1;for(int j = 0;j < n;++j){if(tmp & a[j]){x = x & a[j];ve.push_back(a[j]);}}if(!x){printf("%d\n",ve.size());int len = ve.size();for(int j = 0;j < len;++j){if(j == len - 1){printf("%d\n",ve[j]);}else{printf("%d ",ve[j]);}}break;}}}return 0;
}

牛客练习赛23----托米的位运算相关推荐

  1. 牛客练习赛23 托米的咒语

    托米没有完成上一个任务,准备施展黑魔法推倒 1317 黑魔法咒语被描述为一个 长为 n 的,仅包含小写英文字母 'a'...'i' 的字符串,在托米所在的星球,魔法造成的每次有效伤害都是来自他的一个子 ...

  2. 牛客小白月赛28 D.位运算之谜

    牛客小白月赛28 D.位运算之谜 题目链接 题目描述 a+ba + ba+b 的值为 xxx,a&ba\&ba&b 的值为 yyy,首先需要判断能否有一组 a,ba,ba,b ...

  3. 托米的位运算 牛客练习赛23 C

    题目:题目 1.赛时WA了6次,看题解才发现自己思路错了.正确思路见注释 //这道题第一开始想的是,先升序,转换成二进制,找到__builtin__ffc()最大的那一个数 //"" ...

  4. 牛客练习赛23 B-托米的划分 C++

    题目: 链接:https://www.nowcoder.com/acm/contest/156/B 来源:牛客网 题目描述 欧洲人托米非常喜欢数字,他经常在空闲时玩下面的游戏 对于一个数字 n, 托米 ...

  5. 牛客练习赛20 托米历险记

    链接: https://www.nowcoder.com/acm/contest/128/E来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...

  6. 牛客练习赛23: D. 托米的咒语(暴力)

    题目描述 托米没有完成上一个任务,准备施展黑魔法推倒 1317 黑魔法咒语被描述为一个 长为 n 的,仅包含小写英文字母 'a'...'i' 的字符串,在托米所在的星球,魔法造成的每次有效伤害都是来自 ...

  7. 解题报告(一)C、(牛客练习赛41 F)简单数学题(数论 + FWT)(3.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  8. 牛客练习赛34 E little w and Digital Root(数位dp)

    title: 牛客练习赛34 E little w and Digital Root(数位dp) date: 2018-12-17 22:38:37 tags: 数位dp categories:ACM ...

  9. 踩不出足迹(牛客练习赛88 )

    踩不出足迹(牛客练习赛88 ) 题意: 长度为n的数组a,每个数是一个k位二进制 定义一下操作: 令第一次得到的结果为 a1a_1a1​.你需要从第二个数开始,每次可以选择与上一次得到的结果异或或者同 ...

最新文章

  1. BZOJ 2156 「国家集训队」星际探索(最短路)【BZOJ计划】
  2. 基于云的CRM系统到底好在哪里?
  3. 常用的正则表达式总结
  4. JavaScript学习(五十九)—原型、原型链、闭包以及闭包的不足
  5. 电脑开机,总需要按F1,是什么原因造成的?
  6. apktook 反编译错误
  7. vs2015安装编辑神器:resharper10.0
  8. 密码学101:应用技术
  9. 开心盒子助手3.0版|开心盒子助手工具3.0电脑版
  10. sunlight的中文_Diana Vickers的Sunlight中文歌词。
  11. Android高仿今日头条/QQ空间手势下拉关闭图片效果
  12. 张量处理单元(TPU)
  13. 今日睡眠质量记录77分
  14. 【源码+图片素材】1小时做出Java坦克大战小游戏_Java初级项目_Java练手项目_Java项目实战_Java游戏开发实战教学_Java课程设计_课设
  15. 使用阿里巴巴图标库生成iconfont字体图标
  16. iOS UITextView 纯英文排版换行出错的解决方案
  17. f5 会话保持 负载均衡_F5会话保持的理解
  18. mysql decimal
  19. 高物实验报告计算机模拟高分子,高分子物理与化学国家重点实验室-苏州大学学术交流报告会举行...
  20. kubernetes源码分析-pod创建流程

热门文章

  1. 对 Python 字典排序的两种简单方法
  2. 月薪12K运维需要掌握和了解的技术栈
  3. Unity 常用组件使用总结
  4. 链路追踪-Skywalking概述
  5. 讲case | 电商直播趋势下,小程序可以做什么?
  6. 我,32岁,动力机械专业研究生,转行到算法工程师,完成薪资翻倍
  7. 【主题词——满天星】
  8. 准备2023(2024)蓝桥杯
  9. PCB设计容易出错的地方都有哪些?
  10. .NET 控件集 ComponentOne V2020.0 Update3 发布,正式支持 .NET 5