hdu 5451(矩阵 +Fibonacci )

Transformer-LSTM预测 | 基于Transformer-LSTM的多变量单步时间序列预测(Matlab) 阅读详情

题意:求 [(5 + 2*sqrt(6))^(1 + 2^x)]  % M

基于hdu2256可以求(5 + 2*sqrt(6))^ n

但是n特别大,我们可以找矩阵的循环节

两种可能 1.mod-1      2. (mod+1) * (mod-1)    /*(具体ACdreamers的广义裴波那切找循环节)

在知道2256时,自己做了一遍,但是到时想到的是费马小定理(gg)

p.s  广义Fibonacci数和循环节方面还是不明白,找机会看看


#include <iostream>
#include <cstdio>
using namespace std;
int mod;
typedef long long ll;
struct Matri
{
    int a[2][2];
};
Matri Mat;

Matri Mul(const Matri &A,const Matri &B)
{
    Matri c;
    for(int i=0; i<2; i++)
    {
        for(int j=0; j<2; j++)
        {
            c.a[i][j]=0;
            for(int k=0; k<2; k++)
            {
                c.a[i][j]+= (A.a[i][k]*B.a[k][j])%mod;
                c.a[i][j]%=mod;
            }
        }
    }
    return c;
}

Matri Pow(int n)
{
    if(n==1)
        return Mat;
    else if(n&1)
    {
        return Mul(Mat,Pow(n-1));
    }
    else
    {
        Matri temp=Pow(n>>1);
        return Mul(temp,temp);
    }
}

int PowerMod(ll a, int b, ll c)
{

    ll ans = 1;
    ll k = a % c;
    while(b>0)
    {
        if(b % 2 == 1)
            ans = (ans * k) % c;
        b = b/2;
        k = (k * k) % c;
    }
    return ans;

}
int main()
{
    int T;
    scanf("%d",&T);
    int cas = 1;
    while(T--)
    {
        int n;
        scanf("%d%d",&n,&mod);
        Mat.a[0][0] = 5;
        Mat.a[0][1] = 12;
        Mat.a[1][0]= 2;
        Mat.a[1][1] = 5;
        Matri tt;
        n = (PowerMod(2,n,(mod-1)*(mod+1)) + 1);
        tt = Pow(n);
        int ans = (tt.a[0][0]*2 - 1)%mod;
        printf("Case #%d: %d\n",cas++,ans);
    }
    return 0;
}




Python 爬虫教程:金融数据定向抓取(银行 + 投资网站数据结构化提取) 在当今数字化时代,金融数据的获取和分析对于投资者、分析师以及金融机构来说至关重要。Python 爬虫技术可以帮助我们高效地从各种网站上抓取金融数据,从而为投资决策、风险评估和市场分析提供支持。本文将详细介绍如何使用 Python 爬虫技术来定向抓取银行和投资网站的数据,并将其结构化提取,以便进一步分析和使用。 阅读详情

相关推荐

手把手教你用RK3568开发板实现FPGA与Linux的DMA通信(含完整代码解析)

本文详细介绍了如何在RK3568开发板上实现FPGA与Linux系统的DMA通信,包括硬件配置、软件环境搭建、DMA通信原理、驱动开发及性能优化。通过完整的代码解析和实战案例,帮助开发者快速掌握异构系统间的高效数据传输技术,适用于物联网和边缘计算等场景。

weixin_29174385的博客 201

HDU 5451 (矩阵快速幂&递推循环节)

HDU 5451 (矩阵快速幂&递推循环节) 首先f(n)=(5+26)nf(n)=(5+2\sqrt{6})^{n}f(n)=(5+26​)n 可以利用矩阵快速幂求出来。 https://editor.youkuaiyun.com/md/?articleId=115622892 本题瓶颈之处在于n=2x+1n=2^x+1n=2x+1很大。 所以考虑(5+26)n(5+2\sqrt{6})^n(5+26​)n的循环节。 本题可以暴力找循环节(时间复杂度够)。 需要先找到f(n)f(n)f(n)的递推公式: 考虑

Harris-H的博客 581

从工艺文件到寄生分析:手把手教你用华大九天RCExplorer做版图预检(附ITF文件解析)

本文详细介绍了华大九天RCExplorer工具在模拟IC和版图设计中的应用,从工艺文件解析到寄生参数提取的全流程。通过ITF文件的深度解析和实战案例,帮助工程师掌握金属层、介质层及通孔参数的关键影响,提升设计效率与准确性。文章还提供了与StarRC工作流集成的实用技巧,是国产EDA工具应用的权威指南。

weixin_42522552的博客 405

hdu5451(循环群,矩阵快速幂)

先看简单点的。求 (5+2*√(6))^n % 1024 第一种构造: 原文:https://blog.youkuaiyun.com/xtulollipop/article/details/52382791    第二种: 令 An = (5 + 2√6)^n,Bn = (5 - 2√6)^n Sn = An + Bn; 显然Sn是正整数,且Bn是小于1的 所以答案就是Sn - 1!  (5 ...

叶子心情你不懂 655

Spring AI实现RAG(检索增强生成)详解与实践

支持多种文件格式的文档加载实现高效的向量存储和检索构建智能的问答系统提供可追溯的知识服务RAG技术为AI应用提供了强大的知识增强能力,使得模型能够基于实际文档生成准确、可靠的回答。

beiduofen2011的专栏 1238

第一届“龙信杯”电子数据取证竞赛Writeup

第一届“龙信杯”电子数据取证竞赛Writeup

toto的博客 1万+

hdu5451 矩阵乘法+斐波那契 + 循环节

找循环节:点击打开链接  正解:点击打开链接 解题思路:                   这道题跟斐波拉契数列有关,斐波拉契数列通项公式an=((1+√5)/2)^n+(1-√5)/2)^n,这题也可以转化为an=(5+2*sqrt(6))^n+(5-2*sqrt(6))^n的形式,则an一定是整数的形式,               因为an=((5+sqrt(6))+(5-s

风一样的自由,色彩斑斓的雨季 712

SRv6项目实践(三):P4Runtime基础以及交换机控制

在正式介绍P4runtime基础之前,先说一说P4的编译和实现的过程该文件包含了各个表和操作,它们的id用一个索引值来表示,比如a表用b操作,不会直接说用名字为B的操作,而是说用索引为xxx的操作,然后锁定到b上执行相关的功能,其次,用了一个bitwith来描述,要访问的数据的比特长度是多长。p4c编译器将p4编译成两份文件,其中一份是,另一份是,将这两个文件再整合起来,作为配置,放到交换机中。

a1164520408的博客 3411

HDU 5451 Best Solver(矩阵快速幂+ 共轭复数 + 循环节 数论)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5451 Problem Description The so-called best problem solver can easily solve this problem, with his/her childhood sweetheart. It is known thaty=(5+2...

1651

【β-Boltzmann探索策略】

𝜀是一个介于0和1之间的参数,用于控制探索和利用的比例。当𝜀较大时,智能体更倾向于探索;当𝜀较小时,智能体更倾向于利用已知信息。

m0_59385870的博客 1084

家人们,谁懂啊,dify又报错了:[models] Bad Request Error, 500 Server Error:Internal Server Error for url: http://

本来今天下班,坐在地铁上,一身劳累。一起上班的小兄弟儿,突然甩来一张截图:老大!dify又报错了。没办法,一到家就打开电脑,开始排查。

xiezhipu的博客 882

hdu 5451 Best Solver 快速矩阵乘法 Fibonacci数列的循环节

Best Solver Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 65535/102400 K (Java/Others) Total Submission(s): 401    Accepted Submission(s): 212 Problem Description The so-called best

G.D.Retop的专栏 1653

极智芯 | 解读国产CPU之海光

大家好,我是极智视界,本文分享一下 解读国产CPU之海光。希望我的分享能对你的学习有一点帮助。

极智视界 3317

[HDU 5451] Best Solver (向下取整+矩阵快速幂+广义Fibonacci降幂)

HDU - 5451 y=(5+26√)1+2xy = (5+2\sqrt{6})^{1+2^x} 给定 xx和 质数MM,求 ⌊y⌋%M\lfloor y\rfloor\%M 首先 xx很大,肯定要快速幂一下 有一个向下取整,所以要把底数配成整数 设 An=(5+26√)n+(5−26√)nA_n = (5+2\sqrt{6})^n + (5-2\sqrt{6})^n 可以发现,A

MisDeer's blog 840

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

HDU 5451 数论

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5451 本题与HDU 4565类似,构造一个类似fibo的递推式,然后用矩阵快速幂求得需要的那一项,由于此题幂次比较高,我们可以通过寻找循环节——(mod + 1) * (mod - 1)来实现降幂。 据出题人的意思来说,还有一个较大的循环节推法,(p^2- p)(p^2-1)p​2​​−p)(p​

纳兰 597

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

HDU 5451 Best Solver(fibonacci)

感谢这道题让我复习了一遍线代,还学习了一些奇奇怪怪的数论。 令 二项展开以后根号部分抵消了 显然有 所以要求的答案是 如果n比较小的话,可以直接对二项式快速幂,但是这题n很大 这个问题和矩阵的特征值以及数列递推有奇怪的联系 广义的fibonacci数列的形式如下 写成矩阵形式就是 有一个奇怪的结论: 其中lambda1,lambda2是递推矩...

weixin_33711641的博客 97

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

特征根法求通项+广义Fibonacci数列找循环节 - HDU 5451 Best Solver

Best Solver Problem's Link   Mean:  给出x和M,求:(5+2√6)^(1+2x)的值。x analyse: 这题需要用到高中的数学知识点:特征根法求递推数列通项公式。 方法是这样的: 对于这题的解法: 记λ1=5+2√6,λ2=5-2√6,则λ1λ2=1,λ1+λ2=10

北岛知寒 630

解题报告 (八) 矩阵快速幂【进阶】

矩阵快速幂的进阶题

英雄哪里出来 17万+

hdu 5451 Best Solver (特征方程求通项+广义Fibonacci数列找循环节)

题目大意:y=(5+26√)1+2x。给出x和M,求这个式子的整数部分对M取模的值 记A=5+2√6,B=5-2√6。则AB=1,A+B=10 则A、B可以看作特征方程x^2-10x+1=0的两根。 该特征方程对应的数列通项公式为a[n]=10*a[n-1]-a[n-2]。 令a[0]=A^0+B^0,a[1]=A+B。 #include #include #

白学病患者的专栏 1213

ACM学习历程—HDU 5451 Best Solver(Fibonacci数列 && 快速幂)(2015沈阳网赛1002题)

Problem Description The so-called best problem solver can easily solve this problem, with his/her childhood sweetheart.It is known that y=(5+2√6)^(1+2^x).For a given integer x(0≤x<2^32)and a giv...

weixin_30950237的博客 117

数论之广义斐波那契循环节

广义斐波那契:,满足,求 acdreamers大佬的推导证明:广义Fibonacci数列找循环节 首先我们肯定知道,这是可以写成矩阵快速幂的形式,问题就在于,n很大的时候呢? 这就是有一个降幂公式,对于要模的数x,循环节就是,∏(pi-1)(pi+1) *x/∏pi 也就是把x的所有质因子pi,把(pi-1)*(pi+1)全乘起来,然后乘上x/pi 至于为什么,这个就不知道了。...

weixin_30266885的博客 151

hdu5451Best Solver=矩阵快速幂+广义斐波拉契

Problem Description The so-called best problem solver can easily solve this problem, with his/her childhood sweetheart.It is known that y=(5+26√)1+2x.y=(5+2\sqrt6)^{1+2^x}. For a given integer x (0≤x

xtulollipop 533

hdu 5451 Best Solver(矩阵乘法+数论)

题目链接:hdu 5451 Best Solver解题思路因为取模的数很小,所以暴力找打循环节,然后求解。代码#include <cstdio> #include <cstring> #include <cmath> #include <vector> #include <set> #include <algorithm>using namespace std; const int maxn = 4

不慌不忙、不急不躁 1081

HDU 5451 Best Solver

Problem Description The so-called best problem solver can easily solve this problem, with his/her childhood sweetheart. It is known that y=(5+26√)1+2x. For a given integer x (0≤x232) and a gi

Occult 989
上一篇: HDU2256(矩阵)
下一篇: hdu 2254(矩阵)
Tyuio28
博客等级 码龄11年 12粉丝 279原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值