P2326 AKN’s PPAP
P2326 AKN’s PPAP
比较裸的贪心
从高位向下枚举,如果当前位为1的个数大于1,ans+=(1<<i),然后从这些数中再向下枚举。
#include<iostream>
#include<cstdio>
#include<queue>
#include<algorithm>
#include<cmath>
#include<ctime>
#include<cstring>
#define inf 2147483647
#define For(i,a,b) for(register int i=a;i<=b;i++)
#define p(a) putchar(a)
#define g() getchar()
//by war
//2017.10.25
using namespace std;
int n;
int ans;
queue<int>q[];
int t;
int a[];
int cnt;
int temp[];
int T;
void in(int &x)
{
int y=;
char c=g();x=;
while(c<''||c>'')
{
if(c=='-')
y=-;
c=g();
}
while(c<=''&&c>='')x=x*+c-'',c=g();
x*=y;
}
void o(int x)
{
if(x<)
{
p('-');
x=-x;
}
if(x>)o(x/);
p(x%+'');
} void bl(int now)
{
//ÓÃÊý×éÀ´´æ
int top;
cnt=;
while(q[now+].size()>)
{
top=q[now+].front();
/*if((top>>i)&1==1)
q[i].push(top);*/
q[now+].pop();
temp[++cnt]=top;
}
for(register int i=now;i>=;i--)
{
For(j,,cnt)
if((temp[j]>>i)&==)
q[i].push(temp[j]);
if(q[i].size()>)
{
ans+=(<<i);
if(i>)
bl(i-);
break;
}
}
} int main()
{
in(t);
T=t;
while(t--)
{
ans=;
in(n);
For(i,,n)
in(a[i]);
for(register int i=;i>=;i--)
{
For(j,,n)
if((a[j]>>i)&==)
q[i].push(a[j]);
if(q[i].size()>)
{
ans+=(<<i);
if(i>)
bl(i-);
break;
}
}
printf("Case #%d: %d ",T-t,ans);
p('\n');//o(ans),
For(i,,)
while(q[i].size()>)
q[i].pop(); } return ;
}
P2326 AKN’s PPAP的更多相关文章
- l洛谷 P2326 AKN’s PPAP
P2326 AKN’s PPAP 题目描述 “I have a pen,I have an apple.Eh,Apple-Pen!. I have a pen,I have pineapple.En, ...
- 洛谷P2326 AKN’s PPAP
https://www.luogu.org/problemnew/show/P2326 按位贪心 找到最高位&1的数,确定次高位的时候只从最高位&1的数里选 此次类推 #include ...
- 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 ...
- 洛谷2114 bzoj3668[NOI2014]起床困难综合症
题目描述 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm一直坚持与起床困难综合症作斗争.通过研究相关文献,他找到了该病的发病原因 ...
- BZOJ1087=Codevs2451=洛谷P1896&P2326互不侵犯
1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2885 Solved: 1693[Submit][ ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- [Spring]01_环境配置
)在资源库界面点击Artifacts标签,然后点击libs-release-local,展开后依次点击org -> springframework -> spring.
- [LeetCode] Word Break II 拆分词句之二
Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each ...
- jquery的animate({})动画整理
在网页制作的过程中少不了用到各种动画,形式多种多样,flash,css,js,canvas,等等都能实现,对于其优劣和效果只能说各有千秋. 什么是动画效果,其实网页中的渐变效果就是一种很基础的动画,动 ...
随机推荐
- WPF GridView的列宽度设置为按比例分配
<Grid> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="3*" / ...
- A - 地精部落 (DP)
题目链接:https://cn.vjudge.net/contest/281960#problem/A 题目大意:中文题目. 具体思路:首先,如果有一段是山谷的话,那么这一段中也能用来表示山峰,只要将 ...
- Javascript - 学习总目录
Javascript - 操作符 Javascript - 数据类型 Javascrip - 语句 Javascript - 函数 Javascript - 预编译与函数词法作用域 Javascrip ...
- Django配置富文本编辑器kindeditor
一.简介 django是一个容易快速上手的web框架,用它来创建内容驱动型的网站(比如独立博客)十分方便.遗憾的是,django并没有提供官方的富文本编辑器,而后者恰好是内容型网站后台管理中不可或缺的 ...
- V4L2应用程序框架【转】
转自:https://www.cnblogs.com/hzhida/archive/2012/05/29/2524397.html V4L2是V4L的升级版本,linux下视频设备程序提供了一套接口规 ...
- ES系列十一、ES的index、store、_source、copy_to和all的区别
1.基本概念 1.1._source 存储的原始数据._source中的内容就是搜索api返回的内容,如: { "query":{ "term":{ &q ...
- java多线程系列五、并发容器
一.ConcurrentHashMap 1.为什么要使用ConcurrentHashMap 在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,HashMap在 ...
- MPI 在Windows10 上安装,使用VS2013编译生成可执行程序
原文地址:http://www.cnblogs.com/leijin0211/p/6851789.html 参考博客: http://www.cnblogs.com/shixiangwan/p/662 ...
- eclipse指定项目编译级别
指定项目编译级别Eclipse→Preferences→Java→Compiler→Compiler compliance level:1.6或其他 或者,
- 通过htaccess文件配置多个一级域名指向根目录的子文件夹
创建.htaccess文件,在Windows系统创建时要写成“.htaccess.”,不带双引号,否则不会创建成功. <IfModule mod_rewrite.c> Options +F ...