【雅礼联考DAY01】数列
2024-09-08 18:55:50
#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
*/
最新文章
- 基于.net搭建热插拔式web框架(实现原理)
- Tomcat 实现双向SSL认证
- .NET中类(class)与结构(struct)
- C primer plus 练习题 第一章
- Java生产者消费者模型
- Linq 学习
- ArrayBlockingQueue 源码阅读 问题(一)
- asp.net cookie的使用.
- winDbg 命令使用帮助
- zoj 1738 - Lagrange&;#39;s Four-Square Theorem
- 微信小程序之页面跳转路径问题
- 80、Flask用法简析
- 【BZOJ1040】骑士(动态规划)
- python_14 静态属性、类方法、静态方法;组合;继承
- sql 时间转换格式 convert(varchar(10),字段名,转换格式)
- 正则表达式 —— Cases 与 Tricks
- label--input
- jzoj1407
- selenium IDE的基本命令
- 宝塔面板nginx配置安装Discuz
热门文章
- Asp.Net Core&;Jaeger实现链路追踪
- 第三十节:fillder抓取APP数据之小程序
- web项目的开发--第一天
- Go 每日一库之 go-carbon,优雅的golang日期时间处理库
- 图解B树及C#实现(1)
- hyperf 配置 https 访问
- selenium 之可视模式、静默模式、忽略证书不可用的设置
- (admin.E104) &#39;XXXX&#39; must inherit from &#39;InlineModelAdmin&#39;.
- QT中常用控键
- P3Depth: Monocular Depth Estimation with a Piecewise Planarity Prior