正题

链接 需要纪中OJ账号
刚开始一个字符串”1”。然后进行无数次变化,1变为10,0变为1。然后求多个区间内的1的个数


输入输出(需要自取)

Input   第一行为一个整数Q,后面有Q行,每行两个数用空格隔开的整数a, b。

Output 共Q行,每行一个回答

Sample Input 1 2 8

Sample Output 4


解题思路

先编一个输出序列的程序分析一下题目,可以发现以下结果:

1
10
101
10110
10110101
1011010110110
101101011011010110101
1011010110110101101011011010110110

然后会愉快的发现
“1011010110110101101011011010110110”=
“101101011011010110101”+“1011010110110”
于是就想到的斐波那契数,可是数据范围有毒,导致无法直接运算字符串。所以储存长度和1的个数就好了,字符串累加,那么这两个也是累加上去的。然后求出1到b的1的数量减去1到a-1的1的数量就好了。接下来就是区间计算问题了


代码

#include<cstdio>
#include<cstring>
#include<iostream>
#define ull unsigned long long
using namespace std;
ull s;
ull a,b,num[151],f[151];
char read[100];
int n;
ull ask(ull right)//询问1到right
{ull ans=0;int find=0;while (right){find=1;while (num[find]<=right) find++;find--;//找一个比它小的最接近的区间right-=num[find];//减去那个区间的长度ans+=f[find];//加上那个区间的值}return ans;
}
int main()
{scanf("%d",&n);f[1]=1;num[1]=1;f[2]=1;num[2]=2;for (int i=3;i<=100;i++){f[i]=f[i-1]+f[i-2];num[i]=num[i-1]+num[i-2];}//计算斐波那契数for (int i=1;i<=n;i++){a=0;b=0;scanf("%s",read);int l=strlen(read);for (int i=0;i<l;i++) a=a*10+read[i]-48;scanf("%s",read);l=strlen(read);for (int i=0;i<l;i++) b=b*10+read[i]-48;//读入cout<<ask(b)-ask(a-1)<<endl;//输出}
}

【2018.3.17】模拟赛之一-ssl2574jzoj1368 无限序列【斐波那契数列】相关推荐

  1. 2018年湘潭大学程序设计竞赛G又见斐波那契

    链接:https://www.nowcoder.com/acm/contest/105/G 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...

  2. Python程序模拟手工推算考虑兔子寿命的斐波那契数列

    开学第一课:拜托,一定不要这样问Python问题 中国大学MOOC"Python程序设计基础"免费学习地址 推荐图书: <Python程序设计(第3版)>,(ISBN: ...

  3. 2018年湘潭大学程序设计竞赛 G又见斐波那契

    题目描述 这是一个加强版的斐波那契数列. 给定递推式 求F(n)的值,由于这个值可能太大,请对109+7取模. 输入描述: 第一行是一个整数T(1 ≤ T ≤ 1000),表示样例的个数.以后每个样例 ...

  4. 2019南昌网络赛 H. The Nth Item(广义斐波那契数列求通项公式模板)(二次剩余+分块)

    链接:https://nanti.jisuanke.com/t/41355 题意: Q个询问,每次求F(N),但是N要用上一次询问的结果得到. 思路: 1.直接矩阵快速幂求,再用map记一下答案,求过 ...

  5. Python水仙花数,鸡兔同笼问题,百钱买百鸡问题,斐波那契数列,模拟发微信红包

    一.题目: 1.求50以内能被7整除,但不能同时被5整除的所有整数. 2.如果一个3位数的各位数字的立方和等于该数自身,则该数称为"水仙花数". 例如,153 = 13 + 53  ...

  6. 2013蓝桥杯 黄金分割数 斐波那契数列与黄金分割比例的结合应用+模拟手算

    黄金连分数 黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现.有时需要把这个数字求得很精确. 对于某些精密工程,常数的精度很重要.也许你听说过哈勃太空望远镜,它首次 ...

  7. 2018年东北农业大学春季校赛 K wyh的数列【数论/斐波那契数列大数取模/循环节】...

    链接:https://www.nowcoder.com/acm/contest/93/K 来源:牛客网 题目描述 wyh学长特别喜欢斐波那契数列,F(0)=0,F(1)=1,F(n)=F(n-1)+F ...

  8. NOIP模拟题 斐波那契数列

    题目大意 给定长度为$n$序列$A$,将它划分成尽可能少的若干部分,使得任意部分内两两之和均不为斐波那契数列中的某一项. 题解 不难发现$2\times 10^9$之内的斐波那契数不超过$50$个 先 ...

  9. 2017年ACM第八届山东省赛I题: Parity check(判断 第n项斐波那契数列奇偶性)

    I: Parity check 题目描述 Fascinated with the computer games, Gabriel even forgets to study. Now she need ...

最新文章

  1. poj2724(二分图匹配)
  2. 李开复:AI行业正在回归商业本质,技术公司要有服务心态落地为王
  3. C# ?(问号)的三个用处
  4. OAuth与OpenID区别
  5. Ab工具压力测试.及相应查看web服务排查问题
  6. Ubuntu中如何使用root用户
  7. 做一个.net 程序员要掌握的知识提纲
  8. Git的使用_思维导图
  9. CentOS6.6安装cobbler
  10. js模拟select控件
  11. 一篇好奇心文,带你看懂基金的运营全貌
  12. 现代通信原理2.3:为什么我们这么关注傅立叶变换?
  13. windows自带录屏_电脑版免费的录屏软件有哪些?
  14. 线性回归介绍之十——多因素分析策略
  15. qqkey获取原理_HIT我守护的一切手游电脑版苹果版有吗 HIT我守护的一切iOS电脑版模拟器...
  16. 511遇见易语言列表框去重复项目到列表框
  17. 【高效工作】Sublime Text 3 美化
  18. 动态拨号vps有什么作用?
  19. 创建快捷方式以轻松查看Windows剪贴板
  20. 连续和离散的傅里叶变换

热门文章

  1. python xpath定位不到_Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)...
  2. oracle外网监听端口,oracle 11g 修改默认监听端口1521
  3. php转译html,使用php转义输出HTML到JavaScript
  4. android ble status,Android BLE peripheral disconnects with status code BLE_HCI_INSTANT_PASSED(0x28)
  5. 游戏设计与计算机,RPG游戏设计与实现-数学与计算机系.doc
  6. [计组]寄存器的基本含义
  7. Java实现AVL平衡树
  8. 操作系统复习题+最终版
  9. python通过tkinter界面库实现三角形成立的测试
  10. sklearn PCA特征降维