当前位置:网站首页>2021 CCPC 哈尔滨 I. Power and Zero(二进制 + 思维)
2021 CCPC 哈尔滨 I. Power and Zero(二进制 + 思维)
2022-07-04 20:13:00 【GHOSTANDBREAD】
借鉴于:I. Power and Zero(二进制,思维)_Looy_cai的博客-CSDN博客
思路:
将一串十进制的数转为二进制,然后各个数位相加,这时候从高到低可能不是递增的,所以要进行高位到低位的转换。直到从高到低都是不递减的状态。这时候最后一位,也就是数值最大的那一位,就是答案。
注意:
将一串数转为二进制时,每个数的二进制长度可能不同,所以要记录最大长度作为二进制数组的长度。
从高到低转换时,转换一遍是不能保证达到不递减的状态的,因为bit[1]和bit[2]转换后,bit[2]和bit[3]又转换后,bit[2]变小了,bit[1]又比bit[2]大了,所以要不断循环直到二进制数组达到从高到低都是不递减的状态。
代码:
#include<iostream>
#include<cstring>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
int t, n;
int bit[50];
int main() {
scanf("%d", &t);
while(t --) {
scanf("%d", &n);
int x;
int len = -1;
memset(bit, 0, sizeof bit);
for(int i = 0; i < n; i ++) {
scanf("%d", &x);
int ind = 0;
while(x) {
bit[++ ind] += x % 2;
x /= 2;
}
len = max(len, ind);
}
bool ok = true;
while(ok) {
ok = false;
for(int i = len; i >= 2; i --) {
if(bit[i] > bit[i - 1]) {
ok = true;
int avg = (bit[i] * 2 + bit[i - 1]) / 3;
bit[i - 1] += (bit[i] - avg) * 2;
bit[i] = avg;
}
}
}
printf("%d\n", bit[1]);
}
return 0;
}
边栏推荐
猜你喜欢
Hwinfo hardware detection tool v7.26 green version
Alibaba testers use UI automated testing to achieve element positioning
colResizable.js自动调整表格宽度插件
JS卡牌样式倒计时天数
Gobang go to work fishing tools can be LAN / man-machine
[server data recovery] a case of RAID5 data recovery stored in a brand of server
实操自动生成接口自动化测试用例
网络命名空间
What are the functional modules of RFID warehouse management system solution
福昕PDF编辑器v10.1.8绿色版
随机推荐
【1200. 最小绝对差】
Go notes (1) go language introduction and characteristics
Play the music of youth
HWiNFO硬件检测工具v7.26绿色版
Remember to build wheels repeatedly at one time (the setting instructions of obsidian plug-in are translated into Chinese)
Nmap scan
Idea configuration standard notes
插入排序,选择排序,冒泡排序
How does the computer save web pages to the desktop for use
__init__() missing 2 required positional arguments 不易查明的继承错误
async await 在map中使用
Flet tutorial 04 basic introduction to filledtonalbutton (tutorial includes source code)
宝塔 7.9.2 宝塔控制面板绕过 手机绑定认证 绕过官方认证
hash 表的概念及应用
ACM组合计数入门
阿里测试师用UI自动化测试实现元素定位
What if the computer page cannot be full screen? The solution of win11 page cannot be full screen
Sword finger offer II 80-100 (continuous update)
[solution] paddlepaddle 2 X call static graph mode
扩展你的KUBECTL功能