正题


题目大意

定义函数
f(x){x−1(x%2==1)x/2(x%2==0)f(x)\left\{\begin{matrix} &x-1(x\%2==1)\\ & x/2(x\%2==0) \end{matrix}\right.f(x){​x−1(x%2==1)x/2(x%2==0)​
一次变化是将x=f(x)x=f(x)x=f(x)
求A∼BA\sim BA∼B之间有多少个数可以变化到kkk


解题思路

其实就是f(x)=⌊x/2⌋f(x)=\lfloor x/2 \rfloorf(x)=⌊x/2⌋
计算1∼B1\sim B1∼B减去1∼A−11\sim A-11∼A−1的
然后考虑倒推,若x≤Rx\leq Rx≤R
⌊2nk+x2n⌋=k\lfloor \frac{2^nk+x}{2^n} \rfloor=k⌊2n2nk+x​⌋=k
⌊k+x2n⌋=k\lfloor k+\frac{x}{2^n} \rfloor=k⌊k+2nx​⌋=k
因为kkk为整数,直接调出
k+⌊x2n⌋=kk+\lfloor \frac{x}{2^n} \rfloor=kk+⌊2nx​⌋=k
⌊x2n⌋=0\lfloor \frac{x}{2^n} \rfloor=0⌊2nx​⌋=0
那么当x&lt;2nx&lt;2^nx<2n且2nk+x≤R2^nk+x\leq R2nk+x≤R
枚举nnn,那么xxx的可取个数2n2^n2n
当kkk为偶数时,有可能是由k+1k+1k+1变来的,需要特判。


codecodecode

#include<cstdio>
#define ll long long
using namespace std;
ll k,a,b,ans;
ll get_ans(ll x)
{if(k<=1) return x;ll z=1,ans=0;while(z*k<=x){ans+=z;if(z*k+z-1>x) ans-=z*k+z-1-x;z*=2;}return ans;
}
int main()
{scanf("%lld%lld%lld",&k,&a,&b);ans+=get_ans(b)-get_ans(a-1);if(k&&!(k&1)) k++,ans+=get_ans(b)-get_ans(a-1);printf("%lld",ans);
}

jzoj3084-超级变变变【数学】相关推荐

  1. 机器人图形变变变_中班数学活动——图形变变变 教案

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  2. matlab做比例积分微分控制,收放卷卷径计算+闭环摆杆控制参数自适应PID控制算法(变比例变积分变微分)介绍...

    项目简介 最近在一个客户现场搞熔边机项目,涉及到收放卷工艺的卷径计算,同时张力控制使用的是摆杆,然后通过PID控制输出辅助转速补偿收卷伺服速度.单一的PID参数不能自动适应卷径变化,如在小卷径200m ...

  3. 网络规划设计师考试命题模式持续在变   你变不变

    命题模式持续在变    你变不变 深入分析2009下半年-2010下半年3次网络规划设计师考试试卷中项目管理模块(约有5~8题,约占总分数的6.67%~10.67%)的命题规律,心中最强烈的一份感觉体 ...

  4. javascript基础——文字变大变小className的使用及JS浮动的兼容用法

    文字变大变小,详情页比较常见的那种 <!DOCTYPE html> <html lang="en"> <head><meta charse ...

  5. 命题模式持续在变 你变不变

    命题模式持续在变    你变不变 深入分析2009上半年-2011上半年历次系统集成项目管理工程师考试试卷的命题规律,心中最强烈的一份感觉体现在一个字--变."变"是事物持续发展的 ...

  6. 三星a7108android 7.0,三星A7108系统运行速度变慢变卡顿了_怎么进行具体的刷机教程...

    这个三星2016版GALAXY A7(A7108/双4G)手机也是在2016年2月就上市的一款手机了,现在用的机友也是不少的,有的机友也是在用这个手机的时候遇到了这些或那样的问题,其中比较常见的问题也 ...

  7. IOS之代理文字点击变大变小

    IOS之代理文字点击变大变小 重点是掌握代理的使用,否则也失去次此意义 #import "ViewController.h" #import "AHLJFontSizeP ...

  8. IOS考试题3字体变大变小

    IOS考试题3字体变大变小 swift写法,oc待续 FontSizePicker.swift import UIKitenum FontSize : Int {case FontSizeSmall ...

  9. 出门就背他了!可伸缩的背包,自由变大变小,还有防盗功能!

    ▲ 点击查看 出门能不背包就不背包,几乎是小爆身边每个男生的人生信条. 不背包时,两手空空一身轻,潇洒有型. 但一旦到了必须背包,比如五一外出回家或旅游的时候,男同胞们翻箱倒柜找出来的背包,大多都是这 ...

  10. 怎样洗头使头发变黑变多

    洗头法 头发变黑变粗--用淘米水洗头.每天煮饭时会产生淘米水,请将淘米水留下,装在一个容器内放上二天,让它自然发酵.然后用来洗头,三天洗一次,不出三个月,你的头发就会变粗.变黑. 发酵后的淘米水会有一 ...

最新文章

  1. rocketmq-flink
  2. Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论
  3. jquery function_前端基础进阶(十三)详细图解jQuery扩展jQuery插件
  4. zookeeper分布式锁代码实例
  5. php 进程函数,php多进程函数
  6. Java Web学习(一)Web基础
  7. mybatis高级查询,批量新增
  8. anaconda3卸载python_python从安装到到数据分析应用高手 Python语言基础知识
  9. Running PostgreSQL using Docker Compose
  10. IntelJIdea 如何修改控制台字体大小和主题
  11. Panorama是什么意思
  12. php 多维数组怎么表达,php 对多维数组的操作,该怎么解决
  13. phpdesigner8 php7.0,让getter和setter在phpDesigner8中运行
  14. ae预览不了多次_如何在AE中快速预览?
  15. 闰年2月29天,我们都知道怎样判断,但知道为什么那样做吗?
  16. android代码判断当前手机的手机号码是属于移动、联通、还是电信的
  17. PyTorch 轻松节省显存的小技巧
  18. 031:vue+openlayers加载GPX数据(代码示例)
  19. django教程day07
  20. Excel 时间格式相减

热门文章

  1. dataframe 修改某列_python dataframe操作大全数据预处理过程(dataframe、md5)
  2. oracle经常开关好吗,频繁开关机对电脑有什么影响吗?
  3. 米家扫地机器人充满电需要多长时间_米家扫地机器人充满电后能工作多久?
  4. leetcode59. 螺旋矩阵 II
  5. Java当中 IO(File) 操作 之 递归打印子孙级目录和文件名称
  6. java当中日期类的相关操作(学习笔记)
  7. 7-7 六度空间 (30 分)(BFS遍历详解)(DFS最后一个点过不去)
  8. 二叉树层序遍历(广度优先搜索)基础概念与经典题目(Leetcode题解-Python语言)
  9. [C++STL]vector容器用法介绍
  10. 滑动窗口最大值-leetcode 239题