http://acm.hdu.edu.cn/showproblem.php?pid=5694

可以说这道题目挺考验思维含量的吧

首先,这个和数位dp是差不多的方法,计算cal(l)-cal(l-1);

然后我们可以得出,每次在2^n的时候都是要+1,然后我们计算出rest。

例如BBDBBDD B BBDDBDD 我们令R = 12,然后可以得出rest = 5,但是中间的这个B是没有啥用的,那么我们就让rest = 4,并且ans+1即可。然后记住rest = 之前的长度中的后面的rest个数字,因此假定rest之前的长度为m,那么我们就只要dfs(m) - dfs(m - rest)即可

 #include<bits/stdc++.h>
using namespace std; typedef long long ll;
const ll inf = 1e18;
ll l, r; ll dfs(ll x){
if (x == ) return ;
ll m = , ans = , rest = ;
while (m * + < x) m = m * + ;
ans = (m + ) / ;
rest = x - m - ;
//printf("m = %lld\n", m);
return ans + rest - (ans - dfs(m - rest)) + ;
} int main(){
int t; scanf("%d", &t);
while (t--){
cin >> l >> r;
printf("%lld\n", dfs(r) - dfs(l - ));
}
return ;
}

BD string 百度之星初赛的题目 数学的更多相关文章

  1. 2016百度之星 初赛2A ABEF

    只做了1001 1002 1005 1006.剩下2题可能以后补? http://acm.hdu.edu.cn/search.php?field=problem&key=2016%22%B0% ...

  2. HDU 5690:2016"百度之星" - 初赛 All X

    原文链接:https://www.dreamwings.cn/hdu5690/2657.html All X Time Limit: 2000/1000 MS (Java/Others)    Mem ...

  3. 2016"百度之星" - 初赛(Astar Round2A)HDU 5695 拓扑排序+优先队列

    Gym Class Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  4. 数学 2015百度之星初赛2 HDOJ 5255 魔法因子

    题目传送门 /* 数学:不会写,学习一下这种解题方式:) 思路:设符合条件的数的最高位是h,最低位是l,中间不变的部分为mid,由题意可得到下面的公式(这里对X乘上1e6用a表示,b表示1e6) (h ...

  5. LIS 2015百度之星初赛2 HDOJ 5256 序列变换

    题目传送门 题意:中文题面 分析:LIS(非严格):首先我想到了LIS,然而总觉得有点不对:每个数先减去它的下标,防止下面的情况发生:(转载)加入序列是1,2,2,2,3,这样求上升子序列是3,也就是 ...

  6. Kruskal 2015百度之星初赛2 HDOJ 5253 连接的管道

    题目传送门 /* 最小生成树(Kruskal):以权值为头,带入两个端点,自然的排序;感觉结构体的并查集很好看 注意:题目老头要的是两个农田的高度差,中文水平不好,题意理解成和平均值的高度差! */ ...

  7. BFS 2015百度之星初赛2 HDOJ 5254 棋盘占领

    题目传送门 /* BFS:先把1的入队,每个1和它相邻的组合后看看能不能使0变1,若有则添加入队,change函数返回改变了多少个0 注意:结果还要加上原来占领的 */ #include <cs ...

  8. 二分搜索 2015百度之星初赛1 HDOJ 5248 序列变换

    题目传送门 /* 二分搜索:在0-1e6的范围找到最小的max (ai - bi),也就是使得p + 1 <= a[i] + c or a[i] - c 比赛时以为是贪心,榨干智商也想不出来:( ...

  9. 二分查找 2015百度之星初赛1 HDOJ 5246 超级赛亚ACMer

    题目传送门 /* 二分找到不大于m的最大的数,记做p,只要a[p] + k <= a[p+1]就继续 注意:特判一下当没有比m小的数的情况:) */ #include <cstdio> ...

随机推荐

  1. xfce chrome proxy

    Terminal 下命令行输入:google-chrome-stable %U --proxy-pac-url="http://127.0.0.1:16823/proxy_on.pac&qu ...

  2. java 图片高保真缩放

    public class NarrowImage { /**     * @param im     *            原始图像     * @param resizeTimes     *  ...

  3. redhat 安装hadoop1.2.1伪分布式

    完整安装过程参考:http://www.cnblogs.com/shishanyuan/p/4147580.html 一.环境准备    1.安装linux.jdk      2.下载hadoop2. ...

  4. C语言_IP地址解析

    #include<stdio.h> #include<stdlib.h> void main() { unsigned long input_IP; unsigned int ...

  5. HDU2523:SORT AGAIN

    Problem Description 给你N个整数,x1,x2...xn,任取两个整数组合得到|xi-xj|,(0<i,j<=N,i!=j). 现在请你计算第K大的组合数是哪个(一个组合 ...

  6. parseSdkContent failed 解决方案

    开Eclipse出现错误“parseSdkContent failed”,Android的模拟器启动不了.尝试了不少方法,终于搞定. 1.删除文件夹 C:\Documents and Settings ...

  7. angular跨域访问的问题

    CORS跨域资源共享 跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源. Form responseHeaders = (Form) ...

  8. mysql中出现没有权限访问或者查看全部数据库的问题

    在my.cnf中mysqld目录下的 socket=/var/lib/mysql/mysql.sock一行下面添加  skip_grant_tables---------------报错退出 serv ...

  9. MySQL SQL优化——分片搜索

    DELIMITER $$ DROP PROCEDURE IF EXISTS `test_release`.`Sp_JP_A_NotifyBegin`$$ CREATE DEFINER=`encysys ...

  10. struts2的工作原理

    在学习struts2就必须的了解一下它的工作原理: 首先来看一下这张图 这张工作原理图是官方提供的: 一个请求在Struts2框架中的处理大概分为以下几个步骤 1.客户端初始化一个指向Servlet容 ...