#include<stdio.h>
#include<string.h>
#define max 25 typedef __int64 LL;
LL dp[max][];
//dp[i][0] 不含49
//dp[i][1] 不含49但最高位为9
//dp[i][2] 含49 void init(){
memset(dp,,sizeof(dp));
dp[][]=;
for(int i=;i<max;i++){
dp[i][]=dp[i-][]*-dp[i-][];
dp[i][]=dp[i-][];
dp[i][]=dp[i-][]*+dp[i-][];
}
} LL solve(LL n){
int bit[max],len=;
while(n){
bit[++len]=n%;
n/=;
}
bit[len+]=;
LL ans=;
bool flag=false;
for(int i=len;i;i--){
ans+=bit[i]*dp[i-][];
if(flag){
ans+=bit[i]*dp[i-][];
}
else{
if(bit[i]>){
ans+=dp[i-][];
}
if(bit[i+]==&&bit[i]==){
flag=true;
}
}
}
if(flag){
ans++;
}
return ans;
} int main(){
init();
int T;
scanf("%d",&T);
while(T--){
LL n;
scanf("%I64d",&n);
printf("%I64d\n",solve(n));
}
} #include<stdio.h>
#include<string.h>
#define max 25 typedef long long LL;
LL dp[max][];
int bit[max],len; LL dfs(int pos,int have,int doing){
if(pos==){
return have==;
}
if(!doing && dp[pos][have]!=-){
return dp[pos][have];
} LL ans=;
int end=doing?bit[pos]:;
for(int i=;i<=end;i++){
int nhave=have;
if(have==&&i!=){
nhave=;
}
if(have==&&i==){
nhave=;
}
if(have==&&i==){
nhave=;
}
ans+=dfs(pos-,nhave,doing&&i==end);
}
if(!doing){
dp[pos][have]=ans;
}
return ans;
} LL solve(LL n){
len=;
while(n){
bit[++len]=n%;
n/=;
}
return dfs(len,,true);
} int main(){
memset(dp,-,sizeof(dp));
int t;
scanf("%d",&t);
while(t--){
LL n;
scanf("%lld",&n);
printf("%lld\n",solve(n));
}
}

最新文章

  1. c 二叉树的使用
  2. 如果你也会C#,那不妨了解下F#(2):数值运算和流程控制语法
  3. office2003安装公式编辑器mathtype5.2
  4. Dapper学习 - Dapper.Rainbow(二) - Update/Delete
  5. Java中primitive type的线程安全性
  6. Asp.net Mvc4 使用Cas单点登录
  7. Web前端面试题集锦
  8. Insert后返回自动插入的生成的ID:select @@identity
  9. SGU 112.a^b - b^a
  10. Django之CSRF 跨站请求伪造
  11. Equations(hdu 1496 二分查找+各种剪枝)
  12. Android它SDK Manager无法更新终极解决方案
  13. android 垃圾回收机制
  14. 4月11日java多线程4
  15. 利用git向github上远程提交一个自己的开源项目
  16. 『编程题全队』&quot;Gugua&quot;事务管理系统项目宣传文案
  17. php分享十七:http状态码
  18. 跳转到appstore下载app的链接 记录一下
  19. Python开发【模块】:Pygal 绘制直方图
  20. web api的新玩法

热门文章

  1. 06_jQuery对象初识(四)文档处理
  2. ES6之主要知识点(八)Symbol
  3. MySQL模拟Oracle序列使用
  4. Leetcode961. N-Repeated Element in Size 2N Array重复N次的元素
  5. Innodb_buffer_pool_read
  6. odoo many2one
  7. PHP--自动回调接口,分批修改数据
  8. ACM中Java使用注意事项
  9. 简单易学的机器学习算法—基于密度的聚类算法DBSCAN
  10. Shell执行SQL,并存入变量