【模拟】XMU 1599 斐波那契汤
题目链接:
http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1599
题目大意:
给k,m,q以及f[1]...f[k],当n<m时,f[n]=f[1]/2+f[2]/2...f[n-1]/2,
n>=m时 F(n)=F(n-1) XOR F(n-2) XOR……XOR F(n-m); n>m.
求F(L) xor F(L+1) xor …… xor F(R)。
(1 =< k <=m <=1e5,且m-k<64;q<=10000,0< L <= R <=1e18,f[i]在int64范围内)
题目思路:
【模拟】
m-k<64,前面暴力做到m,之后发现f是一个以m+1为循环节的循环函数。所以就可以做了。
//
//by coolxxx
//
#include<iostream>
#include<algorithm>
#include<string>
#include<iomanip>
#include<memory.h>
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdbool.h>
#include<math.h>
#define min(a,b) ((a)<(b)?(a):(b))
#define max(a,b) ((a)>(b)?(a):(b))
#define abs(a) ((a)>0?(a):(-(a)))
#define lowbit(a) (a&(-a))
#define sqr(a) ((a)*(a))
#define swap(a,b) ((a)^=(b),(b)^=(a),(a)^=(b))
#define eps 1e-8
#define J 10
#define MAX 0x7f7f7f7f
#define PI 3.1415926535897
#define inf 10000000
#define N 100004
using namespace std;
int n,m,lll,ans,cas;
long long l,r,f;
long long a[N],b[N];
int main()
{
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
// freopen("2.txt","w",stdout);
#endif
int i,j,k;
// while(~scanf("%s",s1))
while(~scanf("%d",&n))
// for(scanf("%d",&cas),l=1;l<=cas;l++)
{
memset(a,,sizeof(a));
scanf("%d%d",&m,&cas);
for(i=;i<=n;i++)
scanf("%lld",&a[i]);
for(i=n+;i<=m;i++)
{
for(j=;j<i;j++)
{
a[i]+=a[j]/;
a[j]=(a[j]+)/;
}
}
for(i=;i<=m;i++)
a[m+]^=a[i];
m++;
for(i=;i<=m;i++)
b[i]=b[i-]^a[i];
for(i=;i<=cas;i++)
{
scanf("%lld%lld",&l,&r);
f=(r-l)%(m+m);l=(l-)%m+;
if(l+f<=m)printf("%lld\n",b[l+f]^b[l-]);
else if(l+f<=m+m)printf("%lld\n",b[m]^b[l-]^b[l+f-m]);
else printf("%lld\n",b[l+f-m-m]^b[l-]);
}
}
return ;
} /*
// //
*/
【模拟】XMU 1599 斐波那契汤的更多相关文章
- NOIP模拟赛T3 斐波那契
		
1.题目 求 \[\sum_{i=1}^n \sum_{j=1}^m \gcd(F_i,F_j) \] 其中 \(F_k\) 表示斐波那契数列的第 \(k\) 项,对 \(10^9 + 7\) 取模. ...
 - [NOIP1997] P2626 斐波那契数列(升级版)
		
题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数). 题目描述 ...
 - Python基础(二):斐波那契数列、模拟cp操作、生成8位随机密码
		
一.斐波那契数列 目标: 编写fib.py脚本,主要要求如下: 输出具有10个数字的斐波那契数列 使用for循环和range函数完成 改进程序,要求用户输入一个数字,可以生成用户需要长度的斐波那契数列 ...
 - 2019.8.3 NOIP模拟测试12 反思总结【P3938 斐波那契,P3939 数颜色,P3940 分组】
		
[题解在下面] 早上5:50,Gekoo同学来到机房并表态:“打暴力,打暴力就对了,打出来我就赢了.” 我:深以为然. (这是个伏笔) 据说hzoi的人还差两次考试[现在是一次了]就要重新分配机房,不 ...
 - 2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci)
		
2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci) 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 找规律 找两个节点的lca,需 ...
 - 【洛谷mNOIP模拟赛Day1】T1 斐波那契
		
题目传送门:https://www.luogu.org/problemnew/show/P3938 这题出得特别吼啊~~ 通过打表或者大胆猜想斐波那契数列的一些性质,我们不难发现对于一只兔子$x$,其 ...
 - NOIP模拟题 斐波那契数列
		
题目大意 给定长度为$n$序列$A$,将它划分成尽可能少的若干部分,使得任意部分内两两之和均不为斐波那契数列中的某一项. 题解 不难发现$2\times 10^9$之内的斐波那契数不超过$50$个 先 ...
 - noip模拟赛 斐波那契
		
分析:暴力分有90,真良心啊. a,b这么大,连图都建不出来,肯定是有一个规律.把每个点的父节点写出来:0 1 1 12 123 12345 12345678,可以发现每一个循环的长度刚好是斐波那契数 ...
 - 20190803 NOIP模拟测试12「斐波那契(fibonacci)· 数颜色 · 分组 」
		
164分 rank11/64 这次考的不算太差,但是并没有多大的可能性反超(只比一小部分人高十几分而已),时间分配还是不均,T2两个半小时,T1半个小时,T3-额十几分钟吧 然额付出总是与回报成反比的 ...
 
随机推荐
- 开启.htaccess重写之前先来看看mod_rewrite(转)
			
Apache的Mode Rewrite模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求.在大多数情况下,它和.htaccess文件配合使用.就是说,.htaccess文件的一个主要功能 ...
 - [转] shared_from_this 几个值得注意的地方
			
http://hi.baidu.com/cpuramdisk/item/7c2f8d77385e0f29d7a89cf0 shared_from_this()是enable_shared_from_t ...
 - WWDC心愿单:新版OS X或将有这些变化
			
每年的WWDC开发者大会上苹果都会展示最新的软件研发成果,在新一代MacBook Pro和MacBook Air笔记本到来之前,我们不妨来期待下新版OS X会有怎样的变化. Siri入驻Mac 此 ...
 - Day2 - Python基础2 列表、字典、集合
			
Python之路,Day2 - Python基础2 本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一, ...
 - servlet中访问mysql无法包含中文的解决
			
最近写servlet应用发现,如果我的sql语句中包含英文,访问数据库就失败,而我数据库的编码是utf8 -- UTF-8 Unicode,而我servlet的字符也已经转为UTF-8 ,还是不行. ...
 - 在CSS文件中引入其他CSS文件
			
引入CSS的方法有两种,一种是@import,一种是link 一.@import url('地址');二.<link href="地址" rel="styleshe ...
 - AutoLayout(转)
			
转自 http://blog.sina.com.cn/s/blog_9564cb6e0101wv9o.html controller和View的责任分配: 1.View指定固有的content ...
 - CSS 布局Float 【0】
			
float是 css 样式的定位属性.我们在印刷排版中,文本可以按照需要围绕图片.一般把这种方式称为“文本环绕”.在网页设计中,应用了CSS的float属性的页面元素就像在印刷布局里面的被文字包围的图 ...
 - angularJS学习手册(1)
			
欢迎来到augularJS的学习 一.什么是angularJS? angular的英文意思是角,为什么要叫angular我也不知道. AngularJS是一个MV*(Model-View-Whatev ...
 - MapReduce中的排序
			
hadoop的计算模型就是map/reduce,每一个计算任务会被分割成很多互不依赖的map/reduce计算单元,将所有的计算单元执行完毕后整个计算任务就完成了.因为计算单元之间互不依 ...