Sheldon Numbers 暴力枚举
来源:互联网 发布:单机养宠物软件 编辑:程序博客网 时间:2024/06/06 00:23
题意:求在区间内Sheldon数字的个数
题解:
枚举n m,然后判断是否可以组成相应的位数
然后再判断是否这个数字是在这个区间内
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define LL long longint a[100];unsigned long long x,y;bool deal(int len,int n,int m){ if(len==n&&m>1) return false; for(int i=0;i<len;){ if(i%(n+m)==0){ for(int j=0;j<n;j++) a[i++]=1; } else if(i%(n+m)==n){ for(int j=0;j<m;j++) a[i++]=0; } } unsigned long long temp=0; for(int i=0;i<len;i++) temp=temp*2+a[i]; if(temp>=x&&temp<=y){ //printf("%d\n",temp); return true; } return false;}int main(){ //freopen("in.txt","r",stdin); while(scanf("%lld%lld",&x,&y)!=EOF) { unsigned long long t1=x,t2=y; int p1=0,p2=0; while(x){ p1++; x/=2; } while(y){ p2++; y/=2; } x=t1,y=t2; LL ans=0; if(x==0) x++; for(int i=1;i<=63;i++){ for(int j=1;j<=63;j++){ for(int k=p1;k<=p2;k++){ if(k%(i+j)==0||(k-i)%(i+j)==0) if(deal(k,i,j)) ans++; } } } printf("%lld\n",ans); } return 0;}
阅读全文
0 0
- Sheldon Numbers 暴力枚举
- UVALive-7279 - Sheldon Numbers【暴力】
- UVALive 7279 Sheldon Numbers 【位运算】【暴力】
- GYM 101128 H.Sheldon Numbers(枚举)
- Sheldon Numbers
- UVALive 7279 Sheldon Numbers(位运算、暴力、想法)
- UVALive 7279 Sheldon Numbers(位运算、暴力)
- UVALive 7279 Sheldon Numbers
- Sheldon Numbers Gym
- Sheldon Numbers Gym
- HDU 5522 Numbers (暴力枚举)
- Acdream 1417 Numbers(暴力枚举)
- USACO-Section2.2 Runaround Numbers【暴力枚举】
- CF Lucky Numbers (easy) (dfs简单枚举/next_permutation暴力)
- 暴力枚举
- 暴力枚举?
- 暴力枚举
- 暴力枚举
- HDU2829 浅谈四边形优化DP
- 树形动态规划
- 一些资料
- Java面试宝典
- 为什么对带www和不带www的域名ping结果不一致
- Sheldon Numbers 暴力枚举
- css 样式伪类点击与取消点击样式显示
- BigDecimal 小数精度问题
- 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
- ADO接口之_ConnectionPtr
- 最简单的监听软键盘显示隐藏
- 欢迎使用CSDN-markdown编辑器
- R爬虫小白实例教程
- C++第六次作业报告