hdu 4588 Count The Carries 南京邀请赛
题目意思:求a~b 之间数二进制的和 求 进了多少位。
比如 1~3 01+10+11=22 22->30->110 进了 2位
要寻找规律,发现 加到3的时候为22 加到7的时候为444 猜测下 加到15的时候为8888这样就找到规律了 2^p-1
之后 只要whlle一下就好了
还有本题用long long的话 会答案错误,用_int64会正确。
#include <iostream>
#include <cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
__int64 ans[1000];
__int64 int anum[1000];
__int64 int bnum[1000];
void cal(__int64 x,__int64 a[])
{int p=30,i;while(x>0){while(x<((1<<p)-1))p--;for(i=0;i<p;i++) a[i]+=1<<(p-1);a[p]+=x+1-(1<<p);x-=1<<p;}
}
int main()
{__int64 a,b;while(scanf("%I64d%I64d",&a,&b)!=EOF){int i;memset(ans,0,sizeof(ans));memset(anum,0,sizeof(anum));memset(bnum,0,sizeof(bnum));cal(a-1,anum);cal(b,bnum);for(i=0;i<=50;i++)ans[i]=bnum[i]-anum[i];__int64 anstime=0;for(i=0;i<=50;i++){anstime+=ans[i]>>1;ans[i+1]+=ans[i]>>1;}printf("%I64d\n",anstime);}
}
hdu 4588 Count The Carries 南京邀请赛相关推荐
- HDU 4588 Count The Carries 数学
Count The Carries Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest ...
- hdu 4588 Count The Carries
思路:容易发现二进制表示的数的最低位规律是01010101--:接着是001100110011--:接着是:0000111100001111-- 这样我们发现每一位的循环节是2^(i+1),前2^i是 ...
- hdu 4587 2013南京邀请赛B题/ / 求割点后连通分量数变形。
题意:求一个无向图的,去掉两个不同的点后最多有几个连通分量. 思路:枚举每个点,假设去掉该点,然后对图求割点后连通分量数,更新最大的即可.算法相对简单,但是注意几个细节: 1:原图可能不连通. 2:有 ...
- [HDOJ4588]Count The Carries(数学,规律)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4588 题意:从a加到b,每次结果加到a上,看在二进制下一共发生了多少次进位. 把0到n的所有数二进制下 ...
- HDU 3336 Count the string(KMP+DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3336 题意:给你一个字符串,计算其所有前缀在该字符串出现的次数的总和. 思路:next[j]=i,代表 ...
- HDU 3336 Count the string KMP
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3336 如果你是ACMer,那么请点击看下 题意:求每一个的前缀在母串中出现次数的总和. AC代码: # ...
- Hdu 4916 Count on the path
意甲冠军:鉴于一棵树的顶点标签为连续1~n,不是每个网上查询a-b最小的圆点标签路径 这题想了好久,如果1为根节点. 首先如果a-b只是根节点1.答案一定是1. 否则我们用fa[i]表示i节点的父亲, ...
- HDU 5528 Count a * b
Count a * b 推式子 f(n)=∑i=0n−1∑j=0n−1n∤ij=n2−∑i=1n∑j=1nn∣ij=n2−∑i=1n∑j=1nngcd(i,n)∣igcd(i,n)j=n2−∑i=1n ...
- hdu 4472 Count(递推即dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4472 代码: #include <cstdio> #include <cstring ...
最新文章
- 谷歌、阿里们的杀手锏:三大领域,十大深度学习CTR模型演化图谱
- python常用内置函数总结-python常用内置函数整理—反射
- 【数据竞赛】五大100%奏效的特征筛选策略
- cmd中操作数据库的那些常见命令
- 一款在线工具,克服Python、Java等7种语言编程障碍
- read configuration - shared object - read_comp_configuration_raw
- Blazor带我重玩前端(四)
- 1-1docker加速器
- yjk只算弹性的不计算弹塑性_盈建科弹塑性分析
- python多线程 _thread没有上lock时程序提前给你把可执行的都执行,不按代码编写顺序执行
- ubuntu git cntlm 代理 不能下载
- Tomcat9.0部署iot.war(环境mysql8.0,centos7.2)
- 数据结构基础(3)---C语言实现单链表
- kubernetes视频教程笔记 (29)-安全-认证Authentication
- vision画流程图的软件_vision软件怎么画流程图
- tomcat修改端口号 / 同时运行多个tomcat
- 搭建kafka集群详细步骤
- 98点人脸关键点检测算法
- 轻快PDF阅读器阅读pdf文件步骤
- ncre计算机职业英语,NCRE计算机职业英语一级考试样卷