#include<cstdio>
#include<map>
using namespace std;
typedef long long LL; const int N = 1e6;
LL x , a , b , c , m , f[N + 10] , p;
int n , len , vis[N + 10]; inline LL fpow(LL x , int y , LL p)
{
LL res = 1;
while (y)
{
if (y & 1) res = res * x % p;
x = x * x % p , y = y >> 1;
}
return res;
} int main()
{
// freopen("数列.in" , "r" , stdin);
scanf("%lld%lld%lld%lld%d%lld" , &x , &a , &b , &c , &n , &m);
x %= m;
if (n < 1000000)
{
for(register int i = 1; i <= n; i++) x = (a * x % m * x % m + b * x % m + c) % m;
printf("%lld" , x);
return 0;
}
if (m <= 1000000)
for(register int i = 1; i <= m + 5; i++)
{
x = (a * x % m * x % m + b * x % m + c) % m;
f[i] = x;
if (i == n)
{
printf("%lld" , x);
return 0;
}
if (vis[x])
{
len = i - vis[x] , n = (n - i) % len;
printf("%lld" , f[vis[x] + n]);
return 0;
}
else vis[x] = i;
}
c = b / (a << 1);
p = fpow(x + c , fpow(2LL , n , m - 1) , m);
a = fpow(a , fpow(2LL , n , m - 1) - 1 , m);
x = (p * a % m + m - c) % m;
printf("%lld" , x);
}
/*
b = 2ak
4ac = b*b - 2b
4ac = 4*a*a*k*k-4*a*k
c = a*k*k-k
f(x) = a*x*x+b*x+c
f(x) = a*x*x+2*x*a*k+a*k*k-k
f(x) = a(x+k)^2-k
p = x+k
p(i) = a*p(i-1)^2
p(0) = x(0)+k
p(1) = a*p(0)^2
p(2) = a*a*a*p(0)^4
p(3) = a^7*p(1)^8
p(n) = a^(2^n-1)*p(0)^(2^n)
ans = p(n)-k;
a^(m-1) % m = 1 (a,m) = 1
*/

【雅礼联考DAY01】数列的更多相关文章

  1. 【NOIP2016提高A组模拟8.17】(雅礼联考day1)总结

    考的还ok,暴力分很多,但有点意外的错误. 第一题找规律的题目,推了好久.100分 第二题dp,没想到. 第三题树状数组.比赛上打了个分段,准备拿60分,因为时间不够,没有对拍,其中有分段的20分莫名 ...

  2. 【NOIP2016提高A组模拟8.19】(雅礼联考day2)总结

    第一题又有gcd,又有xor,本来想直接弃疗,不过后来想到了个水法: 当两个相邻的数满足条件时,那么他们的倍数也可能满足条件.然后没打,只打了个暴力. 正解就是各种结论,各种定理搞搞. 第二题,想都不 ...

  3. 【NOIP2016提高A组模拟8.19】(雅礼联考day2)公约数

    题目 给定一个正整数,在[1,n]的范围内,求出有多少个无序数对(a,b)满足gcd(a,b)=a xor b. 分析 显然a=b是一定不满足, 我们设\(a>b\), 易得gcd(a,b)&l ...

  4. 【NOIP2016提高A组模拟8.19】(雅礼联考day2)树上路径

    题目 给出一棵树,求出最小的k,使得,且在树中存在路径p,使得k>=S且k<=E.(k为路径p上的边的权值和). 分析 点分治,设当前为x的,求在以x为根的子树中,经过x的路径(包括起点或 ...

  5. 【NOIP2016提高A组模拟8.17】(雅礼联考day1)Binary

    题目 分析 首先每个数对\(2^i\)取模.也就是把每个数的第i位以后删去. 把它们放进树状数组里面. 那么当查询操作, 答案就位于区间\([2^i-x,2^{i-1}-1-x]\)中,直接查询就可以 ...

  6. 【NOIP2016提高A组模拟8.17】(雅礼联考day1)Value

    题目 分析 易证,最优的答案一定是按\(w_i\)从小到大放. 我们考虑dp, 先将w从小到大排个序,再设\(f_{i,j}\)表示当前做到第i个物品,已选择了j个物品的最大值.转移就是\[f_{i, ...

  7. 【NOIP2016提高A组模拟8.17】(雅礼联考day1)Matrix

    题目 分析 假设,我们从\(F_{i,2}\)出发,那么对\(F_{n,n}\)的贡献就是\(某个系数乘以a^{n-i}b^{n-1}r_i\): 同理,如果从\(F_{2,i}\)出发,那么对\(F ...

  8. [JZOJ4759] 【雅礼联考GDOI2017模拟9.4】石子游戏

    题目 描述 题目大意 在一棵树上,每个节点都有些石子. 每次将mmm颗石子往上移,移到根节点就不能移了. 双方轮流操作,问先手声还是后手胜. 有三种操作: 1. 询问以某个节点为根的答案. 2. 改变 ...

  9. 雅礼集训1-9day爆零记

    雅礼集训1-9day爆零记 先膜一下虐爆我的JEFF巨佬 Day0 我也不知道我要去干嘛,就不想搞文化科 (文化太辣鸡了.jpg) 听李总说可以去看(羡慕)各路大佬谈笑风声,我就报一个名吧,没想到还真 ...

  10. [LOJ 6029]「雅礼集训 2017 Day1」市场

    [LOJ 6029] 「雅礼集训 2017 Day1」市场 题意 给定一个长度为 \(n\) 的数列(从 \(0\) 开始标号), 要求执行 \(q\) 次操作, 每次操作为如下四种操作之一: 1 l ...

随机推荐

  1. form enctype="multipart/form-data" ajax 文件上传

    <form method="post" enctype="multipart/form-data" id="resource"> ...

  2. jsp 页面返回、本页面刷新

    返回上一页面: window.history.go(-1);  //返回上一页window.history.back();  //返回上一页 返回上一页面并对上一页面刷新: history.go(-1 ...

  3. Cookie添加方法

    Cookie是通过response对象中的getCookie()方法进行获得的

  4. Vuex极速入门

    01.什么是Vuex? 1.1.为什么需要状态管理? 在复杂的系统中,我们会把系统按照业务逻辑拆分为多个层次.多个模块,采用组件式的开发方式.而此时不同模块.父子模块之间的通信就成了一个问题. 为了解 ...

  5. Go DevOps大厂运维平台开发进阶实战营

    使用 Jenkinsfile 创建流水线已报名老男孩运维课,见底下评论.enkinsfile 是一个文本文件,它包含 Jenkins 流水线的定义,并被检入源代码控制仓库.Jenkinsfile 将整 ...

  6. NSSCTF_HUBUCTF的web部分题解

    checkin 题目: 主要是php弱比较和序列化知识点考察 <?php $username = "this_is_secret"; $password = "th ...

  7. 2022年7月12,第四组,周鹏,被算法折磨的一天【哭】【哭】【哭】【puls哭】

    今天学习了JS的几种循环语法,说实话,前几天的简单让我大意了,没有闪,很成功的被搞崩了! 一杯水,一根烟,一个算法边写边骂是一天. 多少次,我满怀期待的以为它会出现想要的结果, 但现实的残酷狠狠的折磨 ...

  8. MongoDB从入门到实战之MongoDB工作常用操作命令

    前言: 上一章节我们快速的在Docker容器中安装了MongoDB,并且通过Navicat MongoDB可视化管理工具快速的连接.创建数据库.集合以及添加了文档数据源.这一章节我们主要是了解一下在日 ...

  9. [常用工具] OpenCV获取网络摄像头实时视频流

    所需要硬件及软件环境: python 3/OpenCV3.4 or C++11/OpenCV3.4 1 RTSP协议 RTSP (Real Time Streaming Protocol),是一种语法 ...

  10. 我们来汉化IntelliJ IDEA

    (原发于 GitHub Pages,2018-10-13 13:51:09) 两年前我从一名光荣的C++程序员专业为PHP程序员以后,告别了世界第一IDE Visual Studio,改用当时觉得特别 ...