题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3240

n 和 m 太过巨大,不难想到应该用费马小定理什么的来缩小范围;

总之就是推式子啦,看博客:https://blog.csdn.net/jiangshibiao/article/details/24594825

还有:https://www.cnblogs.com/iiyiyi/p/5617598.html

其实也蛮好推的,也挺好写,但我调了很久很久啊...

要十分注意取 mod 时候加括号的艺术...

还要注意指数里的 n 或 m 取的是 mod-1 的模,就是费马小定理。

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long ll;
int const maxl=1e6+;
ll a,b,c,d,mod=1e9+,A,B,tmp;
char nn[maxl],mm[maxl];
struct N{ll ord,uni;}n,m;
void get()
{
int l=strlen(nn);
// for(int i=l-1;i>=0;i--)//傻了
for(int i=;i<l;i++)
{
n.ord=(n.ord*%mod+nn[i]-'')%mod;//a=1
n.uni=(n.uni*%(mod-)+nn[i]-'')%(mod-);//a!=1
}
l=strlen(mm);
// for(int i=l-1;i>=0;i--)
for(int i=;i<l;i++)
{
m.ord=(m.ord*%mod+mm[i]-'')%mod;//a=1
m.uni=(m.uni*%(mod-)+mm[i]-'')%(mod-);//a!=1
}
}
ll pw(ll a,ll b)
{
ll ret=;
for(;b;b>>=1ll,(a*=a)%=mod)
if(b&) (ret*=a)%=mod;
return ret;
}
ll ni(ll x){return pw(x,mod-);}
int main()
{
scanf("%s%s",&nn,&mm);
scanf("%lld%lld%lld%lld",&a,&b,&c,&d);
get();
if(a==)
{
B=(((c*b)%mod*(m.ord-))%mod+d)%mod;
if(c==)tmp=(+n.ord*B)%mod;
else tmp=(pw(c,n.uni)+((B*(pw(c,n.uni)-)%mod)*ni(c-))%mod)%mod;//注意指数部分是uni而非ord!!!
}
else
{
A=(pw(a,m.uni-)*c)%mod;
B=(((((pw(a,m.uni-)-)*ni(a-))%mod*c)%mod*b)%mod+d)%mod;
tmp=(pw(A,n.uni)+(((pw(A,n.uni)-)*ni(A-))%mod*B)%mod)%mod;
}
printf("%lld",((tmp-d)*ni(c)%mod+mod)%mod);//+mod %mod
return ;
}

bzoj3240 [Noi2013]矩阵游戏——费马小定理+推式子的更多相关文章

  1. BZOJ 3240([Noi2013]矩阵游戏-费马小定理【矩阵推论】-%*s-快速读入)

    3240: [Noi2013]矩阵游戏 Time Limit: 10 Sec   Memory Limit: 256 MB Submit: 123   Solved: 73 [ Submit][ St ...

  2. BZOJ 3240 [Noi2013]矩阵游戏 ——费马小定理 快速幂

    发现是一个快速幂,然而过不去. 怎么办呢? 1.十进制快速幂,可以用来练习卡时. 2.费马小定理,如果需要乘方的地方,可以先%(p-1)再计算,其他地方需要%p,所以需要保存两个数. 然后就是分类讨论 ...

  3. M斐波那契数列(矩阵快速幂+费马小定理)

    M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Sub ...

  4. HDU 4549 M斐波那契数列(矩阵快速幂+费马小定理)

    M斐波那契数列 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submi ...

  5. HDOJ 4549 M斐波那契数列 费马小定理+矩阵高速幂

    MF( i ) = a ^ fib( i-1 ) * b ^ fib ( i )   ( i>=3) mod 1000000007 是质数 , 依据费马小定理  a^phi( p ) = 1 ( ...

  6. HDU 4549 (费马小定理+矩阵快速幂+二分快速幂)

    M斐波那契数列 Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit Statu ...

  7. HDU4549 M斐波那契数列 —— 斐波那契、费马小定理、矩阵快速幂

    题目链接:https://vjudge.net/problem/HDU-4549 M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others)    Memory Li ...

  8. HDU 5667 Sequence 矩阵快速幂+费马小定理

    题目不难懂.式子是一个递推式,并且不难发现f[n]都是a的整数次幂.(f[1]=a0;f[2]=ab;f[3]=ab*f[2]c*f[1]...) 我们先只看指数部分,设h[n]. 则 h[1]=0; ...

  9. [HDOJ5667]Sequence(矩阵快速幂,费马小定理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5667 费马小定理: 假如p是质数,且gcd(a,p)=1,那么 a^(p-1)≡1(mod p). 即 ...

随机推荐

  1. react antD moment

    import moment from 'moment' console.log(moment().add(1, 'days').format('YYYY-MM-DD')) //当前时间前一天 cons ...

  2. 考试总结(CE???)

    直接开写题解: (由于T1为暴力模拟,不进行整理) T2: 扶苏给了你一棵树,这棵树上长满了幼嫩的新叶,我们约定这棵树的根是 1,每个节 点都代表树上的一个叶子. 如果你不知道什么叫树,你可以认为树是 ...

  3. eclipse 中导入 MyBatis 的源码

    (1)选中 Mybatis-3.2.2.jar ,右击,在弹出的快捷菜单中选择 “Properties” 选项,进入属性界面. (2)进入属性界面后,选中 “Java  Source Attachme ...

  4. linux strings-在对象文件或二进制文件中查找可打印的字符串

    推荐:更多Linux 文件查找和比较 命令关注:linux命令大全 strings命令在对象文件或二进制文件中查找可打印的字符串.字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束. str ...

  5. eclipse c/c++配置

    先下载jdk,如果jdk装的是32位,eclipse也要下载32位的,64位也是一样.我用的是jdk7 64位. 下载eclipse,去官网上下载最新的http://www.eclipse.org/d ...

  6. 文件内容差异对比-python

    上次没精力时候,看了下python自动化运维,给print加了颜色,新鲜哒 今天来写写文件对比 step1:引入difflib库(无需安装,python自带) step2:将文件内容按行分割,spli ...

  7. Leetcode 68.文本左右对齐

    文本左右对齐 给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本. 你应该使用"贪心算法"来放置给定的单 ...

  8. 九度oj 题目1066:字符串排序

    题目1066:字符串排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6487 解决:2670 题目描述: 输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大小从小到 ...

  9. Android第三方开源SeekBarCompat:音乐类播放器等APP进度条常用

     Android第三方开源SeekBarCompat:音乐类播放器等APP进度条常用 Android平台原生的SeekBar设计简单,然而,比如现在流行的一些音乐播放器的播放进度控制条,如果直接使 ...

  10. noip模拟赛 whzzt-Warmth

    分析:这道题难度和天天爱跑步差不了多少啊......裸的暴力只有10分,最好大的还是那个5%的数据,不过这也才15分,比天天爱跑步的暴力分不知道少到哪里去了. 正解是dp,毕竟要求方案数嘛,但是这个d ...