首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >51nod 1596 搬货物(Codeforces 587A Duff and Weight Lifting)(思维)

51nod 1596 搬货物(Codeforces 587A Duff and Weight Lifting)(思维)

作者头像
Ch_Zaqdt
发布于 2019-01-10 08:11:12
发布于 2019-01-10 08:11:12
41100
代码可运行
举报
文章被收录于专栏:Zaqdt_ACMZaqdt_ACM
运行总次数:0
代码可运行

题目链接(Codeforces):http://codeforces.com/contest/587/problem/A

题目链接(51nod):https://www.51nod.com/Challenge/Problem.html#!#problemId=1596

       题意是输入n,表示有n个哑铃片,然后输入n个数,然后寻找2^a1+2^a2+...+2^ai=2^x(x为任意整数),如果前i个数满足这个式子,就可以去掉这i片哑铃,问他最少需要几次才能把哑铃片全部去掉。比如第一个样例,1 1 2 3 3,换成2的次方就是2 2 4 8 8,然后我们第一次把前四个去掉,就是2+2+4+8=16,刚好是2的4次方,然后再去掉一个2的3次方,所以最少需要两次。

       思路就是我们换个思路可以发现2^1+2^1=2^2,2^2+2^2=2^3,所以我们可以两个两个合并,看最后剩下多少个不能合并。第一个样例就是1+1=2变成了2 2 3 3,然后2+2=3变成了3 3 3,然后3+3=4变成了4 3,最后就剩下了这个两个数没法合并了。呆码直接按这个思路去模拟就好了。


AC代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <bits/stdc++.h>
#define maxn 1000010
using namespace std;
int n,pre[maxn << 1],xx;

int main()
{
	scanf("%d",&n);
	memset(pre,0,sizeof(pre));
	for(int i=0;i<n;i++){
		scanf("%d",&xx);
		pre[xx] ++;
	}
	int ans = 0;
	for(int i=0;i<1000050;i++){
		pre[i+1] += (pre[i] / 2);
		ans += (pre[i] % 2);
	}
	printf("%d\n",ans);
	return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年11月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
51nod 1649 齐头并进(Codeforces 601A The Two Routes) (最短路)
题目链接(Codeforces):http://codeforces.com/problemset/problem/601/A
Ch_Zaqdt
2019/01/10
3920
Codeforces Round #526 (Div. 2) B. Kvass and the Fair Nut(思维)
题目链接:http://codeforces.com/contest/1084/problem/B
Ch_Zaqdt
2019/01/10
4870
Codeforces Round #507 Div.2 B. Shashlik Cooking(思维)
题目链接:http://codeforces.com/contest/1040/problem/B
Ch_Zaqdt
2019/01/11
3360
Codeforces Round #503 (by SIS, Div. 2) C. Elections(思维)
题目链接:https://codeforces.com/contest/1020/problem/C
Ch_Zaqdt
2019/03/04
4070
51Nod 1091 线段的重叠(贪心+区间相关,板子题)
1091 线段的重叠 基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难度:1级算法题 X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]。 给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重叠,输出0。 Input 第1行:线段的数量N(2 <= N <= 50000)。 第2 - N + 1行:每行2个数,线段的起点和终点。(0 <= s ,
Angel_Kitty
2018/04/08
1.4K0
Codeforces 1038D. Slime(思维)
题目链接:http://codeforces.com/contest/1038/problem/D
Ch_Zaqdt
2019/01/11
5130
Codeforces Round #531 (Div. 3) E. Monotonic Renumeration(思维+差分数组)
题目链接:http://codeforces.com/contest/1102/problem/E
Ch_Zaqdt
2019/01/11
5920
51Nod 1277 字符串中的最大值(KMP,裸题)
1277 字符串中的最大值 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 一个字符串的前缀是指包含该字符第一个字母的连续子串,例如:abcd的所有前缀为a, ab, abc, abcd。 给出一个字符串S,求其所有前缀中,字符长度与出现次数的乘积的最大值。 例如:S = "abababa" 所有的前缀如下: "a", 长度与出现次数的乘积 1 * 4 = 4, "ab",长度与出现次数的乘积 2 * 3 = 6, "aba", 长度与出现次
Angel_Kitty
2018/04/09
8160
Codeforces Round #525 (Div. 2) B. Ehab and subtraction(思维)
题目链接:http://codeforces.com/contest/1088/problem/B
Ch_Zaqdt
2019/01/10
4590
Codeforces Round #513 D. Social Circles(思维)
题目链接:http://codeforces.com/contest/1060/problem/D
Ch_Zaqdt
2019/01/11
3670
Codeforces Round #548 (Div. 2) C. Edgy Trees(思维+dfs)
题目链接:https://codeforces.com/contest/1139/problem/C
Ch_Zaqdt
2019/04/09
5400
Codeforces Round #512 Div. 2 A,B,C Vasya and Golden Ticket
题目链接:http://codeforces.com/contest/1058/problem/A
Ch_Zaqdt
2019/01/11
5560
Codeforces Round #547 (Div. 3) C. Polycarp Restores Permutation(思维)
题目链接:https://codeforces.com/contest/1141/problem/C
Ch_Zaqdt
2019/03/22
4850
Codeforces Round #536 (Div. 2) B. Lunar New Year and Food Ordering(思维)
题目链接:http://codeforces.com/contest/1106/problem/B
Ch_Zaqdt
2019/03/05
4950
51Nod 1090 3个数和为0(暴力)
1090 3个数和为0 基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难度:1级算法题 给出一个长度为N的无序数组,数组中的元素为整数,有正有负包括0,并互不相等。从中找出所有和 = 0的3个数的组合。如果没有这样的组合,输出No Solution。如果有多个,按照3个数中最小的数从小到大排序,如果最小的数相等则按照第二小的数排序。 Input 第1行,1个数N,N为数组的长度(0 <= N <= 1000) 第2 - N + 1行:A[i](-10^9 <= A[i] 
Angel_Kitty
2018/04/09
4780
Codeforces Round #543 (Div. 2, based on Technocup 2019 Final Round) B. Mike and Children(思维)
题目链接:https://codeforces.com/contest/1121/problem/B
Ch_Zaqdt
2019/03/15
3970
Codeforces Round #550 (Div. 3) D. Equalize Them All(思维)
版权声明:欢迎转载,若转载,请标明出处,如有错误,请指点,也欢迎大佬们给出优化方法 https://blog.csdn.net/Charles_Zaqdt/article/details/88942686
Ch_Zaqdt
2019/04/09
5400
Codeforces Round #521 (Div. 3) D. Cutting Out(二分)
题目链接:http://codeforces.com/contest/1077/problem/D
Ch_Zaqdt
2019/01/10
5680
Codeforces Round #544 (Div. 3) B. Preparation for International Women's Day(思维)
题目链接:http://codeforces.com/contest/1133/problem/B
Ch_Zaqdt
2019/03/15
5030
51Nod 1593 公园晨跑(RMQ,ST表)
http://www.51nod.com/Challenge/Problem.html#!#problemId=1593
全栈程序员站长
2021/07/07
2720
推荐阅读
相关推荐
51nod 1649 齐头并进(Codeforces 601A The Two Routes) (最短路)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档