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

正题

链接 需要纪中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;//输出}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python变量名的定义规则与定义方式

变量名的定义规则 1.变量名只能是 字母、数字或者下划线的任意组合 2.变量名的第一个字符不能是数字 3.一下关键字不能声明为变量名 常用定义方式 驼峰法 AgeOfOld56 NumberOfStudents22 下划线 age_of_old56 第二种为官方推荐 定义变量不好的方式举例 1.变量名为中…

洋葱架构简介——分离是为了更好的结合

写出高质量软件是困难和复杂的&#xff1a;不仅仅是为了满足需求&#xff0c;还应该是健壮的&#xff0c;可维护的&#xff0c;可测试的&#xff0c;并且足够灵活以适应成长和变化。这就是洋葱架构出现的原因&#xff0c;它代表一组优秀的开发实践&#xff0c;用来开发任何的软…

RBAC(基于角色的权限访问控制)

第一节.RBAC简介 英文全称(Role-Based Access Control)中文全称:基于角色的权限访问控制rbac: 一种数据库设计思想,根据设计数据库设计方案,完成项目的权限控制.经常需要添加权限的情景 4.1 不同用户登录后看到的菜单是不一样的. 4.2 不同用户看到的页面效果不一样 4.2.1 有的…

子列表只是原列表的一个视图

原文参考&#xff1a;《编写高质量代码&#xff1a;改善java程序的151个建议》本文原创&#xff1a;穆雄雄上期文章&#xff1a;subList?? subString???上期我们说到&#xff0c;List接口提供了subList方法&#xff0c;其作用是返回一个列表的子列表。并且我们通过案例说明…

python注释的用法(单and多行)

单行注释 # name"asdfdasfdas"多行注释 """ print(xy) aad2"""快捷键 先选中要注释的内容然后Ctrl/

【2018.3.17】模拟赛之二-ssl1862jzoj1366 删数【区间dp】

正题 链接 需要纪中OJ账号 有n个数&#xff0c;可以选择删除一段区间&#xff0c;价值为|xi – xk|*(k-i1)。求删完所有数的最大价值 输入输出&#xff08;需要自取&#xff09; Input    输入文件的第一行为一个正整数N&#xff0c;第二行有N个用空格隔开的N个不同的正整…

ASP.NET Core之跨平台的实时性能监控

前言 前面我们聊了一下一个应用程序 应该监控的8个关键位置. 应用程序的8个关键性能指标以及测量方法 最后卖了个小关子,是关于如何监控ASP.NET Core的. 今天我们就来讲讲如何监控它,下面上效果图: 阅读本文需要了解的相关技术与内容: InfluxDb(分布式时序数据库,开源)(注…

EasyUI(前端框架)

第一节 EasyUI的介绍和常用组件 [1]EasyUI的介绍 介绍: EasyUI是一个前端开发的框架&#xff0c;其将常用的页面开发使用的组件进行了 封装&#xff0c;前端开发人员只需将EasyUI的资源导入项目后使用即可&#xff0c;快速 提升开发效率。 使用&#xff1a; ① 导入EasyUI的资…

如何快速开发一个 Dubbo 应用

转载自 如何快速开发一个 Dubbo 应用 导读&#xff1a;在分布式系统中&#xff0c;远程调用是最基础也是最重要的基石。历史上&#xff0c;曾经先后出现过 CORBA、RMI、EJB、WebService 等技术和规范&#xff0c;在服务化以及微服务日趋流行的今天&#xff0c;更多的被广泛使…

‘小会计’的转行之旅

本文原创&#xff1a;王哈哈1大学学习的专业是会计学&#xff0c;目前社会上来说很普遍的工作&#xff0c;都说会计是越老越吃香&#xff0c;所以一毕业就先找了一份和专业相关的工作&#xff0c;然后就开始了抱着公司的大腿努力工作。毕业三年期间也换了几份工作&#xff0c;本…

【2018.3.17】模拟赛之三-ssl1863jzoj1367 俄罗斯方块【模拟】

正题 链接 需要纪中OJ账号 有7种方块 有n列&#xff0c;给出每列的方块高度&#xff0c;求一种方块所有方面都落地的方案数 输入输出&#xff08;需要自取&#xff09; Input 第一行为二个整数C和P&#xff0c;1 ≤ C ≤ 100, 1 ≤ P ≤ 7&#xff0c;表示列数和下落方…

Python缩进的几个原则

Python的缩进有以下几个原则 顶级代码必须顶行写&#xff0c;即如果一行代码本身不依赖于任何条件&#xff0c;那它必须不能进行任何缩进 同一级别的代码&#xff0c;缩进必须一致 官方建议缩进用4个空格

应用程序的8个关键性能指标以及测量方法

前言 高性能一直是我们作为程序员..孜孜不倦的追求.. 有的时候甚至会为了一句代码吵上几天.. 那么到底应该如何评估我们的性能指标来判断是否需要优化呢? 今天就来讲一下这个.. 说明一下,本篇是译文. 原文地址:https://stackify.com/application-performance-metrics/ …

MyBatis Plus

文章目录第一节 MyBatis Plus 的简介第二节 MyBatis Plus 的框架搭建[1] 第一步&#xff1a;导包[2] 搭建SSM开发环境[3] 在数据库中创建测试表[4] 在pojo层下创建Student表的实体类[5] 在mapper层创建StudentMapper接口并继承BaseMapper接口[6] 创建测试类&#xff0c;并从Spr…

班级日常分享,一天一瞬间

119级日常分享经过两周左右的KTV项目终于要告一段落了&#xff0c;上午先让各个小组在班内试讲了下自己小组所做的KTV点歌系统&#xff0c;整体上做的还可以&#xff0c;有些小组还存在一些细节问题&#xff0c;在试讲的时候也都给他们指了指&#xff0c;相信下来会有所改进的。…

DDOS 攻击的防范教程

转载自 DDOS 攻击的防范教程 一个多月前&#xff0c;阮一峰的个人网站遭受 DDOS 攻击&#xff0c;下线了50多个小时。这篇文章就是他总结的&#xff0c;教大家如何应对这种攻击。 需要说明的是&#xff0c;我对 DDOS 并不精通&#xff0c;从没想过自己会成为攻击目标。攻击…

【2018.3.17】模拟赛之四-ssl1864jzoj1368 燃烧木棒【最短路,Floyd】

正题 链接 需要纪中OJ账号 有n条木棒&#xff0c;长度为1或根号2&#xff0c;给出每根木棒两头的坐标&#xff0c;和燃烧需要的时间。只能从一个木棒的一头开始点火&#xff0c;求燃烧完所有木棒所需要的最短时间。 输入输出&#xff08;需要自取&#xff09; Input 输入…

python变量的创建过程(内存地址变化)

​ name “Alex” 原因 python 解释器有自动垃圾回收机制&#xff0c;自动隔一段时间把没有跟变量名关联的内存数据回收。

推荐一份基于Docker的DevOps实战培训教程

01. 基于Docker的DevOps实战培训 微软工具链 基于Azure和Team Foundation Server 微软DevOps工具链是基于Visual Studio 应用生命周期管理&#xff08;VSALM - Visual Studio Application Lifecycle Managemnet&#xff09;的软件管理平台&#xff0c;本动手实验希望通过模拟一…

所有和Java中代理有关的知识点都在这了

转载自 所有和Java中代理有关的知识点都在这了 对于每一个Java开发来说&#xff0c;代理这个词或多或少都会听说过。你可能听到过的有代理模式、动态代理、反向代理等。那么&#xff0c;到底什么是代理&#xff0c;这么多代理又有什么区别呢。本文就来简要分析一下。 代理技…