题目描述

“I have a pen,I have an apple.Eh,Apple-Pen!.

I have a pen,I have pineapple.En,Pineapple-Pen!

Apple-Pen,Pineapple-Pen.Eh,Pen-Pineapple-Apple-Pen!”

Akn最近中毒于一首音乐,于是他买来了一堆苹果来学习这首音乐。Akn发现,只要边唱这首歌,边做把两个完整的苹果碰在一起的动作,两个苹果就会融合成一个新的大苹果,但是大苹果却不能再融合,因为他的细胞内部结构已经改变。Akn还发现,当两个苹果融合的时候,苹果的质量会发生一些玄妙的改变,就是与运算(a&b)。但是,最近他的同学找他要一个苹果吃,akn出于好心,准备把他学习ppap用的苹果融合成的大苹果给同学吃,好让同学一起中毒于ppap,而且akn还想让大苹果的质量最大,那么请问akn能给同学吃的苹果质量最大是多少?

输入输出格式

输入格式:

第一行包含一个整数T,表示数据组数

接下来T组数据,每组数据第一行包含一个整数n,表示n个苹果

第二行包含n个整数wi,表示第i个小苹果重wi kg

输出格式:

每组数据输出一行一个整数大苹果最大的质量,注意格式,Case #x: ans,case和#间有空格,:和ans之间有空格

输入输出样例

输入样例#1: 复制

3
4
1 3 5 7
10
32 54 21 52 14 25 92 75 14 27
21
1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576
输出样例#1: 复制

Case #1: 5
Case #2: 72
Case #3: 0

说明

由于数据包大小限制,故只上传部分数据(第1,2,3,4,5,6,7,8,10,11,12,13,16,19,20点)

第一组数据解释:

1(2)=1
3(2)=11
5(2)=101
7(2)=111

选取5和7进行融合最终得到答案5 数据范围

10%的数据n≤5000,t≤1

另有10%的数据n≤2000,t≤6

另有20%的数据a≤2^10

另有5%的数据n≤10^5,a≤2^20,最大的两个数相等

另有20%的数据n≤10^4,a≤2^15

另有15%的数据n≤10^5,a≤2^20,t≤6

另有15%的数据n≤10^5,a≤2^20,t≤12

100数据n≤10^5,a≤2^20,t≤20

By:worcher

思路:以下是瞎搞AC的,可能是因为数据太水的原因吧。

#include<queue>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 100010
using namespace std;
int t,n,ans,tot;
int num[MAXN];
int main(){
scanf("%d",&t);
while(t--){
tot++;ans=;
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%d",&num[i]);
sort(num+,num++n);
for(int i=;i<n;i++){
ans=max(ans,num[i]&num[i+]);
ans=max(ans,num[i]&num[i+]);
}
cout<<"Case #"<<tot<<": ";
cout<<ans<<endl;
}
}

这是正解:思路就是每次找第k位为1的存入一个数组中,若有多个,则继续找第k+1为1的直到只剩下两个数为止,则这两个数的按位与的答案就是我们所要求的结果。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int t,n,tot;
int a[],b[];
int main(){
scanf("%d",&t);
while(t--){
tot++;
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%d",&a[i]);
for(int k=;k>=;k--){
int top=;
for(int i=;i<=n;i++)
if(a[i]&(<<k)) b[++top]=a[i];
if(top>=){
for(int i=;i<=top;i++) a[i]=b[i];
n=top;
}
}
printf("Case #%d: %d\n",tot,a[]&a[n]);
}
}

l洛谷 P2326 AKN’s PPAP的更多相关文章

  1. 洛谷P2326 AKN’s PPAP

    https://www.luogu.org/problemnew/show/P2326 按位贪心 找到最高位&1的数,确定次高位的时候只从最高位&1的数里选 此次类推 #include ...

  2. P2326 AKN’s PPAP

    P2326 AKN’s PPAP比较裸的贪心从高位向下枚举,如果当前位为1的个数大于1,ans+=(1<<i),然后从这些数中再向下枚举. #include<iostream> ...

  3. 洛谷 P4999(数位DP)

    ###洛谷 P4999 题目链接 ### 题目大意:给你一个区间,求这段区间中所有数的,数位上的,数字之和. 分析: 这题与 洛谷 P2602 相似,稍微改一下就可以了. 求出 0 ~ 9 的个数,然 ...

  4. Luogu P2326 AKN's PPAP【按位贪心】

    题目描述 “I have a pen,I have an apple.Eh,Apple-Pen!. I have a pen,I have pineapple.En,Pineapple-Pen! Ap ...

  5. 洛谷P3567[POI2014]KUR-Couriers(主席树+二分)

    题意:给一个数列,每次询问一个区间内有没有一个数出现次数超过一半 题解: 最近比赛太多,都没时间切水题了,刚好日推了道主席树裸题,就写了一下 然后 WA80 WA80 WA0 WA90 WA80 ?? ...

  6. [USACO07MAR]黄金阵容均衡Gold Balanced L…(洛谷 1360)

    题目描述 Farmer John's N cows (1 ≤ N ≤ 100,000) share many similarities. In fact, FJ has been able to na ...

  7. l洛谷 (水题)P4144 大河的序列

    题目戳 Solution: 这题前面都是废话,关键的一句就是本题求的是序列中连续一段的相与值(&)+相或值(|)最大,然后对这个值进行快速幂取模.考虑到两个数相与最大能得到的就是这两个数中的最 ...

  8. l洛谷——P1211 [USACO1.3]牛式 Prime Cryptarithm

    P1211 [USACO1.3]牛式 Prime Cryptarithm 题目描述 下面是一个乘法竖式,如果用我们给定的那n个数字来取代*,可以使式子成立的话,我们就叫这个式子牛式. *** x ** ...

  9. 洛谷 P1572 计算分数

    P1572 计算分数 题目描述 Csh被老妈关在家里做分数计算题,但显然他不愿意坐这么多复杂的计算.况且在家门口还有Xxq在等着他去一起看电影.为了尽快地能去陪Xxq看电影,他把剩下的计算题交给了你, ...

随机推荐

  1. 基于mybatis的CRUD

    u  基于Mybatis的CRUD u  掌握MyBatis的结果类型-resultMap和resultType u  掌握MyBatis的参数类型 u  掌握#和$两种语法 1      基于myb ...

  2. windows无法开机解决方法

    电脑启动弹出错误Ntldr is missing , 解决方法:重新从xp中拷贝一个出来粘贴上就行 电脑启动弹出错误Ntldr is compressed ,表示分区中的文件被压缩了 解决方法:首先把 ...

  3. 用 query 方法 获得xml 节点的值

    DECLARE @result xml SET @result='<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelo ...

  4. POJ-3984-迷宫问题-BFS(广搜)-手写队列

    题目链接:id=3984">http://poj.org/problem? id=3984 这个本来是个模板题,可是老师要去不能用STL里的queue,得自己手写解决.ORZ....看 ...

  5. Qt on Android:资源文件系统qrc与assets

    使用 Qt 为 Android 开发应用时,有时我们的应用会携带一些资源文件,如 png . jpg 等,也可能有一些配置文件,如 xml 等.这些文件放在哪里呢? 有两种方式: qrc assets ...

  6. Cocos2d-x学习资源集锦+有奖抽楼活动

    大家好,事实上我是这个游戏开发版块的新任版主之中的一个,可能大家的焦点都在candycat1992女版主身上,所以我认为我应该冒个泡. 俗话说,新版主上任,三把"水"(是你自己说的 ...

  7. 又一次发现Oracle太美之glogin.sql

    又一次发现Oracle太美之glogin.sql 刚開始接触Oracle的时候,有时候一登陆一个生产环境.常常会出现以下的情况: [oracle@rh64 app]$ sqlplus / as sys ...

  8. c6----函数的声明和实现

    // // main.c // 函数的声明和定义 // // Created by xiaomage on 15/6/7. // Copyright (c) 2015年 xiaomage. All r ...

  9. 0x37 容斥原理与莫比乌斯函数

    多重集的组合数公式得记下.cf451E就是这个的裸题 #include<cstdio> #include<iostream> #include<cstring> # ...

  10. 【POJ 1733】 Parity Game

    [题目链接] http://poj.org/problem?id=1 [算法] 并查集 [代码] #include <algorithm> #include <bitset> ...