jzoj3084-超级变变变【数学】
正题
题目大意
定义函数
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<2nx<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-超级变变变【数学】相关推荐
- 机器人图形变变变_中班数学活动——图形变变变 教案
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...
- matlab做比例积分微分控制,收放卷卷径计算+闭环摆杆控制参数自适应PID控制算法(变比例变积分变微分)介绍...
项目简介 最近在一个客户现场搞熔边机项目,涉及到收放卷工艺的卷径计算,同时张力控制使用的是摆杆,然后通过PID控制输出辅助转速补偿收卷伺服速度.单一的PID参数不能自动适应卷径变化,如在小卷径200m ...
- 网络规划设计师考试命题模式持续在变 你变不变
命题模式持续在变 你变不变 深入分析2009下半年-2010下半年3次网络规划设计师考试试卷中项目管理模块(约有5~8题,约占总分数的6.67%~10.67%)的命题规律,心中最强烈的一份感觉体 ...
- javascript基础——文字变大变小className的使用及JS浮动的兼容用法
文字变大变小,详情页比较常见的那种 <!DOCTYPE html> <html lang="en"> <head><meta charse ...
- 命题模式持续在变 你变不变
命题模式持续在变 你变不变 深入分析2009上半年-2011上半年历次系统集成项目管理工程师考试试卷的命题规律,心中最强烈的一份感觉体现在一个字--变."变"是事物持续发展的 ...
- 三星a7108android 7.0,三星A7108系统运行速度变慢变卡顿了_怎么进行具体的刷机教程...
这个三星2016版GALAXY A7(A7108/双4G)手机也是在2016年2月就上市的一款手机了,现在用的机友也是不少的,有的机友也是在用这个手机的时候遇到了这些或那样的问题,其中比较常见的问题也 ...
- IOS之代理文字点击变大变小
IOS之代理文字点击变大变小 重点是掌握代理的使用,否则也失去次此意义 #import "ViewController.h" #import "AHLJFontSizeP ...
- IOS考试题3字体变大变小
IOS考试题3字体变大变小 swift写法,oc待续 FontSizePicker.swift import UIKitenum FontSize : Int {case FontSizeSmall ...
- 出门就背他了!可伸缩的背包,自由变大变小,还有防盗功能!
▲ 点击查看 出门能不背包就不背包,几乎是小爆身边每个男生的人生信条. 不背包时,两手空空一身轻,潇洒有型. 但一旦到了必须背包,比如五一外出回家或旅游的时候,男同胞们翻箱倒柜找出来的背包,大多都是这 ...
- 怎样洗头使头发变黑变多
洗头法 头发变黑变粗--用淘米水洗头.每天煮饭时会产生淘米水,请将淘米水留下,装在一个容器内放上二天,让它自然发酵.然后用来洗头,三天洗一次,不出三个月,你的头发就会变粗.变黑. 发酵后的淘米水会有一 ...
最新文章
- rocketmq-flink
- Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论
- jquery function_前端基础进阶(十三)详细图解jQuery扩展jQuery插件
- zookeeper分布式锁代码实例
- php 进程函数,php多进程函数
- Java Web学习(一)Web基础
- mybatis高级查询,批量新增
- anaconda3卸载python_python从安装到到数据分析应用高手 Python语言基础知识
- Running PostgreSQL using Docker Compose
- IntelJIdea 如何修改控制台字体大小和主题
- Panorama是什么意思
- php 多维数组怎么表达,php 对多维数组的操作,该怎么解决
- phpdesigner8 php7.0,让getter和setter在phpDesigner8中运行
- ae预览不了多次_如何在AE中快速预览?
- 闰年2月29天,我们都知道怎样判断,但知道为什么那样做吗?
- android代码判断当前手机的手机号码是属于移动、联通、还是电信的
- PyTorch 轻松节省显存的小技巧
- 031:vue+openlayers加载GPX数据(代码示例)
- django教程day07
- Excel 时间格式相减
热门文章
- dataframe 修改某列_python dataframe操作大全数据预处理过程(dataframe、md5)
- oracle经常开关好吗,频繁开关机对电脑有什么影响吗?
- 米家扫地机器人充满电需要多长时间_米家扫地机器人充满电后能工作多久?
- leetcode59. 螺旋矩阵 II
- Java当中 IO(File) 操作 之 递归打印子孙级目录和文件名称
- java当中日期类的相关操作(学习笔记)
- 7-7 六度空间 (30 分)(BFS遍历详解)(DFS最后一个点过不去)
- 二叉树层序遍历(广度优先搜索)基础概念与经典题目(Leetcode题解-Python语言)
- [C++STL]vector容器用法介绍
- 滑动窗口最大值-leetcode 239题