分析

 代码

#include<bits/stdc++.h>
using namespace std;
#define int long long
int xx[],yy[],cnt1,cnt2;
int dp[][][];
inline int work(int a,int b,int s,int c){
int i,j,k,d=max(max(a-,b),(int)log2(s)+1ll),x,y,z,g;
for(i=;i<=d;i++)
for(j=;j<=c;j++)
dp[i][j][]=dp[i][j][]=;
i=;
for(x=;x<=;x++)
for(y=;y<=;y++){
k=(x+y)>>,z=(x+y)&;
if(i==b-&&!y)continue;
if(z!=(s&))continue;
if(i>b-&&y)continue;
if(i>a-&&x)continue;
dp[i][x+y][k]++;
}
for(i=;i<=d;i++)
for(j=;j<=c;j++)
for(g=;g<=;g++)
if(dp[i-][j][g])
for(x=;x<=;x++)
for(y=;y<=;y++){
k=(x+y+g)>>,z=(x+y+g)&;
if(i==b-&&!y)continue;
if(z!=((s&(1ll<<i))?:))continue;
if(i>b-&&y)continue;
if(i>a-&&x)continue;
dp[i][j+x+y][k]+=dp[i-][j][g];
}
return dp[d][c][];
}
inline int sum(int x){
int res=x<<;
while(x)res-=(x&1ll),x>>=;
return res;
}
signed main(){
int x,y,z,d,c,i,j,k,t,x2,y2,s,a,b;
scanf("%lld",&t);
while(t--){
scanf("%lld%lld%lld%lld",&d,&x,&y,&c);
cnt1=cnt2=;
x2=x,y2=y;
while(x2)xx[++cnt1]=(x2&),x2>>=;
while(y2)yy[++cnt2]=(y2&),y2>>=;
reverse(xx+,xx+cnt1+);
reverse(yy+,yy+cnt2+);
z=;
for(i=;i<=min(cnt1,cnt2);i++)
if(xx[i]==yy[i])z=(z<<)+xx[i];
else break;
s=sum(x)+sum(y)-sum(z)-sum(z>>);
if(c==){
printf("%lld\n",s);
continue;
}
int Ans=;
for(a=;a<d;a++)
for(b=;b<d;b++){
int v=(1ll<<(a+))+(1ll<<(b+))-;
z=s/v;
if(!z)continue;
if((int)log2(z)+max(a,b)+>d)continue;
k=s-z*v;
for(i=;i<=a+b;i++)
if((i+k)%==)Ans+=work(a,b,(i+k)>>,i);
}
printf("%lld\n",Ans-);
}
return ;
}

最新文章

  1. Window memcache 使用
  2. Xformode的坑
  3. java JDK8 学习笔记——第18章 自定义泛型、枚举与注释
  4. MySQL数据库加密与解密
  5. Swift --- 面向对象中类和对象的属性
  6. 【转】如何在CentOS/RHEL中安装基于Web的监控系统 linux-das
  7. VB6之HTTP服务器的实现(二)
  8. cmd+任务管理器解决端口被占用的问题
  9. Angular记录(4)
  10. echarts 图表重新加载,原来的数据依然存在图表上
  11. (网页)thinkpad 笔记本开机看看坏了没?
  12. FFT 【JSOI2012】bzoj4332 分零食 (未解决)
  13. Linux内核同步 - sleepable RCU的实现
  14. js for form
  15. tornado多路由示例
  16. 使用sublime text3手动安装插件
  17. 【8086汇编-Day1】预备知识
  18. [ python ] 各种推导式
  19. jQuery实现18位身份证输入隔位添加空格及格式验证
  20. java.lang.UnsupportedOperationException:This parser does not support specification &quot;null&quot; version &quot;null&quot;

热门文章

  1. Django报错[WinError 123] 文件名、目录名或卷标语法不正确。: &#39;&lt;frozen importlib._bootstrap
  2. PS把一张白色背景的图片设为透明
  3. 用js代码打开新场口 关于window.open()方法的参数
  4. 初学css display
  5. 广告URL
  6. 前端开发HTML&amp;css入门——盒子模型以及部分CSS样式
  7. Scrapy抓取jobbole数据
  8. 如何在SVN服务器上创建项目
  9. Maya2014下载安装与激活
  10. NTP时间服务器构建