题目链接:点击查看

题目大意:给出一个递推式得到 f[ i ] ,现在需要求 

题目分析:最简单的做法就是 nlogn ,带个快速幂,显然这个题目是不可能这么简单的

考虑将幂次化简,设 f[ i ] = x ,又因为 m ∈ [ 0 , 1e9 ] ,所以 x ∈ [ 0 , 1e9 ] ,我们可以以 1e5 为分界点分块,得到,显然我们可以 O( 1e5 ) 分别预处理出  和  ,然后就有  了,剩下的就可以 O( n ) 计算得出答案了

代码:

#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<stack>
#include<climits>
#include<queue>
#include<map>
#include<set>
#include<sstream>
#include<cassert>
#include<bitset>
using namespace std;typedef long long LL;typedef unsigned long long ull;const int inf=0x3f3f3f3f;const int N=2e5+100;const int M=1e5;LL n,A,K,a,b,m,P,sum1[M+100],sum2[M+100];//sum1[i]=A^i,sum2[i]=A^(M*i)void init()
{sum1[0]=sum2[0]=1;for(int i=1;i<=M;i++)sum1[i]=sum1[i-1]*A%P;for(int i=1;i<=M;i++)sum2[i]=sum2[i-1]*sum1[M]%P;
}int main()
{
#ifndef ONLINE_JUDGE
//  freopen("data.in.txt","r",stdin);
//  freopen("data.out.txt","w",stdout);
#endif
//  ios::sync_with_stdio(false);int w;cin>>w;int kase=0;while(w--){scanf("%lld%lld%lld%lld%lld%lld%lld",&n,&A,&K,&a,&b,&m,&P);init();LL ans=0;for(int i=1;i<=n;i++){ans=(ans+sum1[K%M]*sum2[K/M])%P;K=(a*K+b)%m;}printf("Case #%d: %lld\n",++kase,ans);}return 0;
}

SDUT -2605 A^X mod P(数论+思维)相关推荐

  1. 51Nod1123 X^A Mod B 数论 中国剩余定理 原根 BSGS

    原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1123.html 题目传送门 - 51Nod1123 题意 $T$ 组数据. 给定 $A,B,C$,求 ...

  2. 贡献思想 + 数论 + 思维(例题 Problem J. Prime Game)

    首先说一下贡献的思想: 举个例子:已知有n个数,从 ,求 中所有质因数出现的个数. 假设当前数为  6, 7, 5, 5, 4, 9, 9, 1, 8, 12 首先写出他每个数的质因数: 每个数的质因 ...

  3. 题目 2285: [蓝桥杯][2018年第九届真题]螺旋折线(数论+思维)

    题目: 题目描述 如图所示的螺旋折线经过平面上所有整点恰好一次. 对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度. 例如dis(0, 1)=3, ...

  4. codeforces798C - Mike and gcd problem (数论+思维)

    原题链接:http://codeforces.com/contest/798/problem/C 题意:有一个数列A,gcd(a1,a2,a3...,an)>1 时称这个数列是"漂亮& ...

  5. CF1471 D - Strange Definition(思维,分类讨论,lcm,gcd的性质,数论)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #694 (Div. 2) D 很好的一道数论思维题 D - Str ...

  6. 牛客练习赛#105(A-D)

    牛客练习赛#105 文章目录 牛客练习赛#105 A.切蛋糕的贝贝 B.抱歉,这没有集美 C.打牌的贝贝 D.点分治分点 A.切蛋糕的贝贝 题意 有一个正n边形,想通过下列的切法切成面积比为1:1:4 ...

  7. CF Div2 781

    A GCD vs LCM(数论 + 思维) Description: ​ 求4个和为n的数 要求 gcd(a, b) == lcm(c, d) Solution: ​ 令lcm(c, d) = 1 则 ...

  8. E. Calendar Ambiguity(思维数论)

    E. Calendar Ambiguity(思维&数论) 思路:思维&数论. 考虑 i i i月 j j j日 = j =j =j月 i i i日. 即: { [ ( i − 1 ) ...

  9. 1126 求递推序列的第N项 (Fnb + mod + 思维)

    有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 给出A,B和N,求f(n)的值. Input 输 ...

最新文章

  1. 题目1095:2的幂次方
  2. Hadoop安装与配置问题说明
  3. HTML期末作业-美食网站
  4. c语言的详细编译过程
  5. Node.js 文档(目录)
  6. gdb对应vc调试命令
  7. Windows 启动 Idea 报错 if you already hava a 64-bit JDK ... 以及 failed to create jvm...
  8. 如何用adb命令启动安装的APK
  9. linux ftp 取文件,linux下拉取文件的方法
  10. android 端口查看工具,安卓模拟器连接端口一览表:(2018.11收录10款)
  11. 详解线性反馈移位寄存器(LFSR)
  12. 英语语法之搞定简单句
  13. 电销行业竞争与日俱增,西安外呼系统如何改善?
  14. css音阶波浪动画图,线性渐变色
  15. vs读取txt文件 中文乱码
  16. Django框架的基本应用
  17. USB之SE0、SE1
  18. 【MOOC浙大翁恺】C语言学习笔记
  19. python可视化第一篇——基于matplotlib库
  20. 哈工大网络空间安全专业划在计算机类吗,哈尔滨工业大学网络空间安全考研难吗...

热门文章

  1. 中打开终端_macOS中轻松实现Finder当前目录中快速打开终端
  2. 广外计算机考研专业课,【广外考研论坛】 21广外各专业考研问题全解答!纯干货!...
  3. html5自动添加数据库,HTML5本地存储之如果没有数据库究竟会怎样
  4. python标准类型内建函数_Python 标准库系列之内建函数
  5. MySQL高级 - 锁 - InnoDB行锁 - 总结
  6. 压力测试时候Linux系统参数的调优
  7. 类文件到虚拟机(类加载机制)
  8. 基于Xml 的IOC 容器-开始启动
  9. @ComponentScan.Filter type的类型
  10. 原始Junit测试Spring的问题