传送门

Description

给定区间[L,R],请统计有多少对整数A,B(L<=A,B<=R)满足A xor B的值在二进制表示下,去掉所有前导0后是回文串

Input

第一行包含一个正整数T(1<=T<=100),表示测试数据的组数。
每组数据包含一行两个整数L,R(0<=L<=R<=10^12),含义如题面所述。

Output

对于每组数据输出一行一个整数,即满足条件的整数对个数。
 
 
反正就是数位dp,从两端往中间跑,记录下大小关系,谁都会写。
#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std; ll n,m,T,f[][];
ll min(ll a,ll b){return a<b?a:b;}
ll work(ll n,ll a,ll b){
ll MMH=;
memset(f,,sizeof(f));
f[][]=;
for (ll i=;i<=(n>>);i++)
for (ll qa=;qa<;qa++)
for (ll qb=;qb<;qb++)
for (ll ha=;ha<;ha++)
for (ll hb=;hb<;hb++)
if ((qa^qb)==(ha^hb)&&(i!=||qa!=qb)){
ll QA=(a>>n-i)&,QB=(b>>n-i)&;
ll HA=(a>>i-)&,HB=(b>>i-)&; for (ll k=;k<;k++){
ll K=k;
if (QA<qa&&!(k&)) continue;
if (QB<qb&&!(k&)) continue; if (QA>qa) K|=;
if (QB>qb) K|=; if (HA>ha) K|=;else if (HA<ha) K&=;
if (HB>hb) K|=;else if (HB<hb) K&=;
f[i][K]+=f[i-][k];
}
} if (n&){
ll i=n+>>;
for (ll _a=;_a<;_a++)
for (ll _b=;_b<;_b++)
if (n!=||_a!=_b){
ll A=(a>>i-)&,B=(b>>i-)&; for (ll k=;k<;k++){
ll K=k;
if (A<_a&&!(k&)) continue;
if (B<_b&&!(k&)) continue; if (A>_a) K|=;
if (B>_b) K|=;
f[i][K]+=f[i-][k];
}
}
}
ll i=n+>>;
for (ll k=;k<;k++)
if (((k&)||(k&))&&((k&)||(k&))) MMH+=f[i][k];
return MMH;
}
ll Mavis(ll a,ll b){
if (b<) return ;
ll i,j,k,mmh=;
for (i=,j=,k=;i;i--){
j<<=;k<<=;j|=(a>>i)&;k|=(b>>i)&;
if (j==k) mmh+=j*work(i,(1ll<<i)-,(1ll<<i)-)+work(i,a&((1ll<<i)-),b&((1ll<<i)-));else mmh+=k*work(i,(1ll<<i)-,(1ll<<i)-)+work(i,(1ll<<i)-,b&((1ll<<i)-));
}
return mmh+b+;
}
int main(){
scanf("%lld",&T);
while(T--){
scanf("%lld%lld",&n,&m);
printf("%lld\n",Mavis(m,m)-*Mavis(m,n-)+Mavis(n-,n-));
}
}

bzoj 4918: 回文数对的更多相关文章

  1. hdu1282回文数猜想

    Problem Description 一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数.任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其 ...

  2. C语言 · 特殊回文数

    问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输入一行,包含一个正整数n. 输 ...

  3. Java判断回文数算法简单实现

    好久没写java的代码了, 今天闲来无事写段java的代码,算是为新的一年磨磨刀,开个头,算法是Java判断回文数算法简单实现,基本思想是利用字符串对应位置比较,如果所有可能位置都满足要求,则输入的是 ...

  4. luogu1207双重回文数[usaco1.2]Dual Palindromes

    题目描述 如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做“回文数”.例如,12321就是一个回文数,而77778就不是.当然,回文数的首和尾都应是非零的,因此0220就不是回文数. 事实上 ...

  5. luogu10125回文数[noip1999 Day1 T1]

    题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数. 又如:对于10进制数 ...

  6. 洛谷 P1015 回文数 Label:续命模拟QAQ

    题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数. 又如:对于10进制数 ...

  7. 2016中国大学生程序设计竞赛(长春)-重现赛 1010Ugly Problem 回文数 模拟

    Ugly Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  8. 回文数 第N个回文数

    判断回文数还是不难,如果能转为字符串就更简单了. 如果是求第N个回文数呢. 12321是一个回文数,这里先考虑一半的情况. 回文数的个数其实是有规律的.如: 1位回文数: 9个 2位回文数: 9个 3 ...

  9. 合工大OJ 1331 回文数

    Description 一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数. 任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其和不是回文数, ...

随机推荐

  1. Android Spinner值不显示,选择列表正常

    你在给adapter设置数据时,如果你是静态数据,也就是死数据,那么spinner显示没有问题,但是你如果异步进行网络请求,或者使用Volley请求的时候就要注意,你的adapter设置要在onRes ...

  2. 7.python常用模块

    1.time 常用表示时间方式: 时间戳,格式化的时间字符串,元组(struct_time) UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时 ...

  3. [置顶] xamarin android 布局尺寸了解

    为了使UI界面在不同大小的移动端显示器上能够正常显示,大家可能都知道使用sp作为字体大小的单位,dp作为其他元素长度的单位. 前几天看了一篇文章关于 App设计规范的,文章用心写的非常好,这里是链接  ...

  4. 基于阿里云的MQTT远程控制

    好久没有写博客了,眼看自己的项目就要快做完了,先分享一下基于MQTT的远程控制,自己买了一个阿里的云端,然后在云端上安装了一个MQTT服务器,其实是一不小心买了两个,所以准备贡献出来一个供大家使用, ...

  5. css各种布局

    1.水平居中 前提:父容器.parent 和子容器.child 1)使用text-align和inline-block .parent{text-aling:center}; .child {disp ...

  6. express整合webpack的打包文件dist

    对于我来说,第一次接触前后端整合问题的小白,刚开始是一脸懵逼,这个问题整整坑了我一个晚上加一个早上,现在写出来总结: 前端开发:vue-cli+webpack: 后台开发:nodejs框架expres ...

  7. Docker -- 安全/部分命令/Daemon

    Docker -- 终极指南 1.安装过程 -- Docker -- docker pull 镜像 -- docker images 列出镜像    -- docker run --rm -ti ub ...

  8. java.util.HashSet

    Operations Time Complexity Notes add, remove, contains, size O(1) assuming the hash functions has di ...

  9. mysql 编写存储过程

    先看例子: 1.delimiter $$2.drop procedure if exists`test_procedure` $$3.create procedure test_procedure(I ...

  10. php 抽象类abstract

    程序中,有些类的作用只是用来继承,无须实例化: 为了满足类的这种需求,php提供了抽象类的概念 ,关键词abstract: 抽象类原则: 抽象类不能被实例化 有抽象方法的类一定是抽象类:类必须要abs ...