51Nod1537 分解

题目看这里

基于一个思想,如果x=y+1 那么一定有x%M=y+1%M

可以发现1+√2和复数有着类似的运算法则,可以用快速幂加取模来计算

所以我们考虑用几个不同的模数来判断,如果都有x=y+1,那么就可以认为问题有解

#pragma GCC opitmize("O3")
#pragma G++ opitmize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define LL long long
#define N 1000000007
using namespace std;
struct wl{ LL x,y; } t=(wl){1,1},c; LL n,M,T;
inline wl operator* (wl a,wl b){ return (wl){a.x*b.x%M+a.y*b.y%M*2%M,a.x*b.y%M+a.y*b.x%M}; }
inline wl pow(wl x,LL k){
    wl s=(wl){1,0};
    for(;k;x=x*x,k>>=1) if(k&1) s=s*x;
    return s;
}
int main(){
    scanf("%lld",&n);
    M=1000000007; c=pow(t,n); T=(c.x*c.x%M-c.y*c.y%M*2%M)%M;
    if(T!=1 && (T+M)%M!=M-1) return 0&puts("no"); 
    M=139621984; c=pow(t,n); if((T+M)%M!=(c.x*c.x%M-c.y*c.y%M*2%M+M)%M) return 0&puts("no");
    M=523512363; c=pow(t,n); if((T+M)%M!=(c.x*c.x%M-c.y*c.y%M*2%M+M)%M) return 0&puts("no");
    M=1000000007; c=pow(t,n); 
    if(T==1) printf("%lld\n",c.x*c.x%M);
    else printf("%lld\n",c.y*c.y%M*2%M);
}

Jenkins部署前后端分离项目最全图文教程(手把手教学) 最近Jenkins部署的热度比较高,于是就想出一篇关于我是如何使用Jenkins部署前后端分离项目的,本篇记录了我是如何一步一步去配置、搭建和部署的完整流程,每一行代码都进行了实测和讲解,通过图文的教学写成博客分享给大家! 阅读详情

相关推荐

DeepLearning tutorial(7)深度学习框架Keras的使用-进阶

上一篇文章总结了Keras的基本使用方法,相信用过的同学都会觉得不可思议,太简洁了。十多天前,我在github上发现这个框架的时候,关注Keras的人还比较少,这两天无论是github还是微薄,都看到越来越多的人关注和使用Keras。所以这篇文章就简单地再介绍一下Keras的使用,方便各位入门。主要包括以下三个内容: 训练CNN并保存训练好的模型。 将CNN用于特征提取,用提取出来的特征训练SVM。

wepon的专栏 2万+

51nod-1537 1537 分解(矩阵快速幂+找规律)

题目链接: 1537分解 问(1+sqrt(2))^n能否分解成sqrt(m)+sqrt(m-1)的形式 如果可以输出m%1e9+7否则输出no Input 一行,一个数n。(n<=10^18) Output 一行,如果不存在m输出no,否则输出m%1e9+7 Input示例 2 Output示例 9题意:思路:发现跟奇数...

weixin_30411819的博客 210

告别裸机:在FreeRTOS上为STM32移植SOEM 1.4.0的完整指南

本文详细介绍了在FreeRTOS环境下为STM32H7系列芯片移植SOEM 1.4.0的完整指南,涵盖环境准备、任务架构设计、OSAL层适配及网络驱动优化等关键步骤。通过EtherCAT主站解决方案的实现,帮助开发者构建稳定可靠的工业自动化系统,提升实时通信性能。

weixin_33582311的博客 363

51nod-1537分解

51nod矩阵快速幂

Run 8021

STM32 DMA串口重定向printf:高效调试与性能优化实战

本文详细介绍了STM32 DMA串口重定向printf的实现方法与性能优势。通过对比传统方式的CPU高占用问题,阐述了DMA技术如何实现高效数据传输,大幅降低CPU负载。文章包含完整的代码实现、缓冲区管理技巧及实战调试方案,帮助开发者优化嵌入式系统调试效率。

lake5的博客 97

20、基于图神经网络的脱氢焓预测方法研究

本文研究了基于图神经网络(GNN)的液态有机氢载体(LOHC)材料脱氢焓预测方法。通过分析现有GNN方法的局限性,提出了一种新的聚合自节点表示(AWS)方法,并结合丰富的原子特征和集成学习策略,显著提高了预测性能。实验结果表明,AWS在脱氢焓预测和多个基准化学性质预测任务中均优于现有GNN方法。此外,基于分子结构的集成方法进一步提升了模型的鲁棒性和准确性。研究展示了该方法在筛选LOHC材料中的潜力,并为未来预测更多化学性质奠定了基础。

pp12345的博客 102

51nod 1537 分解 (矩阵快速幂)

题目链接 1537 分解 基准时间限制:0.5 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  取消关注  问(1+sqrt(2)) ^n  能否分解成 sqrt(m) +sqrt(m-1)的形式  如果可以 输出 m%1e9+7 否则 输出no Input 一行,一个数

fouzhe的博客 721

54、生物神经网络建模全解析

本文系统解析了生物神经网络的建模方法,涵盖从单个神经元到神经网络的多个时空尺度。首先介绍神经元层面的生物物理模型(如霍奇金-赫胥黎模型和多隔室模型)与多种简化模型(如菲茨休-纳古莫、莫里斯-勒卡尔、积分发放模型等),并分析其适用场景。随后探讨突触层面的信号传递机制,对比电突触与化学突触在结构、传输速度和方向上的差异,阐述其在神经网络建模中的理论意义。文章旨在为理解神经系统的信息处理机制、构建受生物启发的人工智能模型提供理论基础。

app77的博客 76

51Nod 1537 数论+思维

题目链接题意: 给定nn,问1+1+ 问(1+sqrt(2)) ^n 能否分解成 sqrt(m) +sqrt(m-1)的形式 如果可以 输出 m%1e9+7 否则 输出no

新熊君的博客 440

educoder中Hive综合应用案例 — 用户搜索日志分析

Hive综合应用案例 — 用户搜索日志分析

weixin_46026136的博客 4761

姿态传感器/陀螺仪之IIS2DLPC 应用驱动程序设计

* 转换为°C单位 (参考温度为25°C,灵敏度为16 LSB/°C) */

corlin6688的博客 219

51nod 1537 分解

矩阵快速幂XJB乱搞一下,没严格证明准确性。 #include using namespace std; const int siz=2; long long mod=1e9+7; struct mtx { long long a[siz][siz]; }unit; mtx multi(mtx m1,mtx m2) { int i,j,k; mtx ret; memset(ret.

月阁 300

基于simulink的多能源系统协同与能源互联网的电网系统场景实例:虚拟电厂(VPP)中电网与储能集群的协同控制

本文详细介绍了使用Simulink构建虚拟电厂(VPP)与储能集群协同控制系统的完整建模过程。主要内容包括:1) VPP系统架构设计;2)分步骤建模过程,涵盖虚拟电厂系统创建、储能单元与集群建模、VPP控制器设计(核心)以及协同控制场景仿真;3)性能分析与典型应用场景。通过混合整数线性规划优化调度和智能指令分解策略,实现了VPP参与电力市场交易、电网调频调峰等功能,验证了系统在提升可再生能源消纳率(96%)、降低电网峰谷差(35%)等方面的优异性能。该建模方法为能源互联网中的分布式资源聚合与协同控制提供了实

xiaoheshang_123的博客 466

51nod1537分解

1537 分解 基准时间限制:0.5 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 问(1+sqrt(2)) ^n  能否分解成 sqrt(m) +sqrt(m-1)的形式 如果可以 输出 m%1e9+7 否则 输出noInput一行,一个数n。(n&lt;=10^18)Output一行,如果不存在m输出no,否则输出m%1e9+7Input示例2Output示例9...

qq_41510496的博客 199

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

51NOD 1537 分解

1537 分解 基准时间限制:0.5 秒 空间限制:131072 KB 分值: 80 难度:5级算法题问(1+sqrt(2)) ^n 能否分解成 sqrt(m) +sqrt(m-1)的形式 如果可以 输出 m%1e9+7 否则 输出noInput一行,一个数n。(n<=10^18)Output一行,如果不存在m输出no,否则输出m%1e9+7Input示例2Output示例9找奇偶性规律+快

LuRiCheng的博客 3786

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

51nod 分解 1537

题意: 1537 分解 0.5 秒 131,072.0 KB 80 分 5级题 问(1+sqrt(2)) ^n 能否分解成 sqrt(m) +sqrt(m-1)的形式 如果可以 输出 m%1e9+7 否则 输出no 收起 输入 一行,一个数n。(n<=10^18) 输出 一行,如果不存在m输出no,否则输出m%1e9+7 输入样例 2 输出样例 9 思路: 找规律 + 矩阵快速幂 (1)(1+sqrt(2)) ^n 展开之后可以表示为a + b*sqrt(2),多写几个就发现了!!! ai = a

m0_46082460的博客 234

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

51nod1537 分解

http://blog.youkuaiyun.com/qingshui23/article/details/52350523 详细题解%%%%对矩阵乘法的不熟悉。以及不会推公式 #include<cstdio> #include<cstring> #include<cctype> #include<algorithm> using namespac...

weixin_30599769的博客 158

51nod - 1537 分解

问(1+sqrt(2))^n能否分解成sqrt(m)+sqrt(m-1)的形式 如果可以输出m%1e9+7否则输出no Input 一行,一个数n。(n<=10^18) Output 一行,如果不存在m输出no,否则输出m%1e9+7 Input示例 2 Output示例 9 思路: 假设 则: 因此可以用矩阵快速幂的方式来计算出...

brucehb的专栏 251

[51nod 1537]分解

题目大意是否存在整数m使得(1+√2)n=√m+√(m−1)(1+√2)^n=√m+√(m-1)结论首先n=1存在解。 假设n=k时存在解,易证n=k+1也必然存在解。 于是设(1+√2)n=an+bn√2(1+√2)^n=an+bn√2 a与b可以用矩阵乘法快速算出,再分类讨论n的奇偶性得到m。#include<cstdio> #include<algorithm> #define fo(

不来也不去的一只失忆蝴蝶 889

51nod oj 1537 分解 【类斐波那契数列的矩阵求法】

1537 分解 基准时间限制:0.5 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注  问(1+sqrt(2)) ^n  能否分解成 sqrt(m) +sqrt(m-1)的形式  如果可以 输出 m%1e9+7 否则 输出no Input 一行,一个数n。(n Output

leibniz_zhang的博客 833

51nod 1537 分解(矩阵快速幂)

1537 分解 基准时间限制:0.5 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注  问(1+sqrt(2)) ^n  能否分解成 sqrt(m) +sqrt(m-1)的形式  如果可以 输出 m%1e9+7 否则 输出no Input 一行,一个数n。(n Output

MR CODER 315

51nod 1537 分解(矩阵快速幂)

参考:http://blog.youkuaiyun.com/qingshui23/article/details/52350523 标程中提到了构造对偶式,我去,这咋整啊,搞不了 但是就根据标程来推,这些东西都能推出来。。。 奇偶都能推出来sqrt(m)+sqrt(m−1)=a+b∗sqrt(2) 然后根据(1+√2)^n=a+b∗2打个表,找规律就好了。找不到规律的话,拿着序列去oeis一查就知道了#

梦幻的蔷薇色 427

[51NOD1537] 分解(递推,矩阵快速幂)

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1537 思路:一开始用二项式拆了一下,发现这个式子的形式总能变成a+b*sqrt(2)的形式。然后就列了几个。 1+1*sqrt(2) 3+2*sqrt(2) 7+5*sqrt(2) 17+12*sqrt(2) 挺明显的:ai=ai-1+2*bi-1,...

weixin_30800807的博客 88

51Nod-1537-分解(矩阵快速幂)

博主链接 题目链接 题意: 给一个n,求出对应m满足(1+sqrt(2))^n==sqrt(m)+sqrt(m-1) 题解: 可以将(1+sqrt(2))^n一项项拆开后发现 sqrt(1)+sqrt(2) sqrt(9)+sqrt(8) sqrt(49)+sqrt(50) sqrt(492+9)+sqrt(492+10) 发现如果n为奇数f(n)=f(n-2)+2f(n-1)+1; 为偶数时f...

Anoyer的博客 1544

51NOD 1537 分解(矩阵快速幂)——算法马拉松17(告别奥运)

传送门问 (1+2√)n(1+\sqrt 2) ^n 能否分解成 m−−√+(√m−1)\sqrt m +\sqrt(m-1)的形式 如果可以 输出 m MOD (109+7)m\ MOD\ (10^9+7) 否则 输出 nonoInput一行,一个数 nn。 (n<=1018)(n<=10^{18})Output一行,如果不存在 mm 输出 nono,否则输出 m MOD 109+7 m\ M

代码改变世界 1359
上一篇: 51Nod1353 树
下一篇: 51Nod1364 最大字典序排列
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值