11月的月赛错过了,来打12月月赛,由于很(zi)想(ji)拿(tai)衣(ruo)服(la),所以去打div2。

T1是一个sb模拟,但是机房全卡死在这道语文题上了,基本上弄了一个半小时,T2可以秒杀,T4像一个数据结构神题,写了4个set+1个树状数组水了水。

然后就剩下我最怕的数学题。llj说这道题式子贼好推,你做做吧。我瑟瑟发抖。

下来看这道题,确实是道比较简单的数学题。

我们假设$F_i$为斐波那契数列的第$i$项,

那么这道题第$k$项就应该是$A_k = A_1 \times F_{k-2} + A_2 \times F_{k-1}$

那么我们需要求满足$A_1 \times F_{k-2} + A_2 \times F_{k-1} \equiv m \pmod{p}$的$A_2$的个数。

那么直接用exgcd求最小整数解就可以啦。

(update 1229)贴个代码:

//Serene
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<cmath>
using namespace std;
#define ll long long
ll T,p,n,m;
ll f[3],g[3][3],f2[3],g2[3][3]; ll aa;char cc;
ll read() {
aa=0;cc=getchar();
while(cc<'0'||cc>'9') cc=getchar();
while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();
return aa;
} ll gcd(ll x,ll y) {
return y==0? x:gcd(y,x%y);
} void cf1() {
memcpy(f2,f,sizeof(f));
f[1]=f2[1]*g[1][1]%p+f2[2]*g[2][1]%p;
f[2]=f2[1]*g[1][2]%p+f2[2]*g[2][2]%p;
if(f[1]>=p) f[1]-=p;
if(f[2]>=p) f[2]-=p;
} void cf2() {
memcpy(g2,g,sizeof(g));
memset(g,0,sizeof(g));
for(int i=1;i<=2;++i) for(int j=1;j<=2;++j) for(int k=1;k<=2;++k) {
g[i][j]+=g2[i][k]*g2[k][j]%p;
if(g[i][j]>=p) g[i][j]-=p;
}
} void qpz(ll k) {
f[1]=f[2]=1; g[1][1]=0;
g[1][2]=g[2][1]=g[2][2]=1;
while(k) {
if(k&1) cf1();
cf2(); k>>=1;
}
} ll qp(ll x,ll k) {
ll rs=1;
while(k) {
if(k&1) rs=rs*x%p;
k>>=1; x=x*x%p;
}
return rs;
} void exgcd(ll a,ll b,ll &x,ll &y) {
if(!b) {
x=1; y=0;
return;
}
exgcd(b,a%b,y,x);
y-=(a/b)*x;
} ll get_ans(ll r,ll x,ll b) {
if(r<0) return 0;
ll rs=r/b;
if(r%b>=x) rs++;
return rs;
} int main() {
T=read();ll x,y,a,b,c,o,l,r,w;
while(T--) {
w=read(); l=read(); r=read();
n=read(); p=read(); m=read();
qpz(n-3);
a=f[2]; b=p; c=(m%p-w%p*f[1]%p+p)%p;//
if(c%(o=gcd(a,b))) {
printf("0\n"); continue;
}
a/=o; b/=o; c/=o;
exgcd(a,b,x,y); x*=c;
x%=b; if(x<0) x+=b;
printf("%lld\n",get_ans(r,x,b)-get_ans(l-1,x,b));
}
return 0;
}
/*
1
692858490132927148 33 93 11 90 52
*/

CodePlus2017 12月月赛 div2可做题2的更多相关文章

  1. CodePlus2017 12月月赛 div2火锅盛宴

    当时看到这道题感觉真是难过,我数据结构太弱啦. 我们来看看需要求什么: 1.当前熟了的食物的最小id 2.当前熟了的食物中有没有编号为id的食物 3.当前没熟的食物中有没有编号为id的食物 4.当前没 ...

  2. 洛谷4030(Codeplus11月月赛)可做题1

    题目:https://www.luogu.org/problemnew/show/P4030 原来一个方阵巧妙的充要条件是该方阵的每个2*2子方阵都是巧妙的!!! 可以把每一行选的列视为一个排列,需要 ...

  3. 安恒X计划12月月赛

    ezweb 主要是序列化问题.没有PHP环境,在线运行的.实例化对象之后修改一下file.然后echo输出序列化的结果.不过下面有一个正则检查.数字前加一个+,影响了正则的匹配,但是对于序列化的还原没 ...

  4. 最大字段和&洛谷11月月赛DIV2 T1

    蒟蒻只能打一打DIV2的基础题 太卑微了 这道题的本质其实是再建一个数组,如果s串i位置是0那么就给a[i]赋值为1,表示要累加个数,如果是1那么就把a[i]赋值为-1,表示个数减一,最后求最大子段和 ...

  5. 「CodePlus 2017 12 月赛」可做题2(矩阵快速幂+exgcd+二分)

    昨天这题死活调不出来结果是一个地方没取模,凉凉. 首先有个一眼就能看出来的规律... 斐波那契数列满足$a_1, a_2, a_1+a_2, a_1+2a_2, 2a_1+3a_2, 3a_1+5a_ ...

  6. 【LIbreOJ】#6256. 「CodePlus 2017 12 月赛」可做题1

    [题意]定义一个n阶正方形矩阵为“巧妙的”当且仅当:任意选择其中n个不同行列的数字之和相同. 给定n*m的矩阵,T次询问以(x,y)为左上角的k阶矩阵是否巧妙.n,m<=500,T<=10 ...

  7. 【LibreOJ】#6257. 「CodePlus 2017 12 月赛」可做题2

    [题意]数列满足an=an-1+an-2,n>=3.现在a1=i,a2=[l,r],要求满足ak%p=m的整数a2有多少个.10^18. [算法]数论(扩欧)+矩阵快速幂 [题解]定义fib(i ...

  8. 洛谷3月月赛div2 题解(模拟+数学+贪心+数学)

    由于本人太蒻了,div1的没有参加,胡乱写了写div2的代码就赶过来了. T1 苏联人 题目背景 题目名称是吸引你点进来的. 这是一道正常的题,和苏联没有任何关系. 题目描述 你在打 EE Round ...

  9. code+12月月赛 火锅盛宴

    时间限制: 2.0 秒 空间限制: 512 MB 题目背景 SkyDec和YJQQQAQ都是Yazid的好朋友.他们都非常喜欢吃火锅.有一天,他们聚在一起,享受一场火锅盛宴. 题目描述 在这场火锅盛宴 ...

随机推荐

  1. Python中的urlparse、urllib抓取和解析网页(一)

    对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...

  2. java虚拟机(十三)--GC调优思路

    GC调优对我们开发人员来说,如果你想要技术方面一直发展下去,这部分内容的了解是必不可少的,jvm对于工作.面试来说都很重要,GC调优的问题 更是重中之重,因为是对你jvm学习内容的实践,知识只有应用实 ...

  3. windows下docker 启动jenkins成功,浏览器无法访问,拒绝了我们的连接

    [问题现象] 在Windows下使用docker启动了一个jenkins,翻越了无数的坑,最后的启动命令为 docker run --name jenkins -u root -p 8000:8000 ...

  4. Java程序员面试题收集(6)

    <!————————————————————————————基础题122道,代码题19道————————————————————————————> JAVA相关基础知识1.面向对象的特征有 ...

  5. Hadoop 集群网络拓扑

  6. js中的观察者模式与发布者/订阅者模式的区别?

  7. odoo web controller

    Routing openerp.http.route(route=None, **kw) Decorator marking the decorated method as being a handl ...

  8. 在Ubuntu Server 14.04上源码安装Odoo 9.0

    1. 更新Ubuntu服务器软件源 sudo apt-get update #更新软件源 sudo apt-get dist-upgrade #更新软件包,自动查找依赖关系 sudo shutdown ...

  9. leetcode 665

    665. Non-decreasing Array Input: [4,2,3] Output: True Explanation: You could modify the first 4 to 1 ...

  10. TZ_14_Feign的客户端和Feign的负载均衡

    1.作用:Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样.你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做. 2.导入起步坐标 < ...