So Easy! HDU - 4565(构造共轭+矩阵快速幂)

Anroid8.1 强制修改系统可以adb remount 在Android6.0 (Android M)user版本上,发现使用adb root后再adb remount系统之后会提示这样信息:remount of /system failed: Read-only file system,这是不能对system分区进行操作,提示没有写权限,为只读文件系统Read-only file system,因为系统本身在user就不支持可写操作,我们就不能adb push来调试apk,如果想调试apk就需要修改system、vendor权限问题。 如下现象: C:\Use 阅读详情

So Easy! HDU - 4565

A sequence S n is defined as:

Sn=⌈(a+b√)n⌉%m S n = ⌈ ( a + b ) n ⌉ % m

Where a, b, n, m are positive integers.┌x┐is the ceil of x. For example, ┌3.14┐=4. You are to calculate S n.
  You, a top coder, say: So easy!

Input
  There are several test cases, each test case in one line contains four positive integers: a, b, n, m. Where 0< a, m < 2 15, (a-1) 2< b < a 2, 0 < b, n < 2 31.The input will finish with the end of file.
Output
  For each the case, output an integer S n.
Sample Input

2 3 1 2013
2 3 2 2013
2 2 1 2013

Sample Output

4
14
4
题意:

求上面的公式

分析:

直接看这篇文章吧,照着这个题写的讲解

斐波那契数列通项公式推导及其类似构造共轭公式反求递推式

得到递推式

fn=2a⋅fn−1+(b−a2)⋅fn−2 f n = 2 a ⋅ f n − 1 + ( b − a 2 ) ⋅ f n − 2

打表发现这个递推式取模好像没有循环节因此只能老老实实用矩阵快速幂

(fnfn−1)=(2a1b−aa0)⋅(fn−1fn−2)(1) (1) ( f n f n − 1 ) = ( 2 a b − a a 1 0 ) ⋅ ( f n − 1 f n − 2 )

(fnfn−1)=(2a1b−aa0)n−1⋅(f1f0)(2) (2) ( f n f n − 1 ) = ( 2 a b − a a 1 0 ) n − 1 ⋅ ( f 1 f 0 )

code:

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
typedef long long ll;
const int maxn = 1e5+10;
int a,b,n,m;
struct Matrix{
    int mm[3][3];
};
Matrix mul(Matrix aa,Matrix bb){
    Matrix ans;
    for(int i = 0; i < 2; i++){
        for(int j = 0; j < 2; j++){
            ans.mm[i][j] = 0;
            for(int k = 0; k < 2; k++){
                ans.mm[i][j] = (ans.mm[i][j] + aa.mm[i][k] * bb.mm[k][j] % m + m) % m;
            }
        }
    }
    return ans;
}
Matrix q_pow(Matrix aa,int bb){
    Matrix ans;
    memset(ans.mm,0,sizeof(ans.mm));
    for(int i = 0; i < 2; i++){
        ans.mm[i][i] = 1;
    }
    while(bb){
        if(bb & 1)
            ans = mul(ans,aa);
        bb >>= 1;
        aa = mul(aa,aa);
    }
    return ans;
}
int main(){
    while(~scanf("%d%d%d%d",&a,&b,&n,&m)){
        Matrix ans;
        ans.mm[0][0] = 2 * a % m;
        ans.mm[0][1] = b - a * a;
        ans.mm[1][0] = 1;
        ans.mm[1][1] = 0;
        ans = q_pow(ans,n-1);
        printf("%d\n",(ans.mm[0][0] * 2 * a % m + ans.mm[0][1] * 2 % m + m) % m);
    }
    return 0;
}

同类型题目Best Solver HDU - 5451
这道题取模有循环节,处理起来就相对简单些了

YOLOv8 PCB缺陷检测系统全流程实战:从开发到UI展示详解 毕设路上难免有波折,但只要跟着这个教程把“数据集处理、模型训练、UI开发”每一步都落实,你就已经超越了大多数同学。这个“PCB缺陷检测系统”既有技术深度(YOLOv8是工业级主流算法),又有工程价值(解决电子制造的实际痛点),还具备出色的可视化展示——这样的毕设,拿高分是水到渠成的事。 阅读详情

相关推荐

Claude Code 任务编排 头脑风暴与 疯狂拷问:Superpowers vs Grill-me 硬核对比与工程落地

Superpowers和Grill-me是AI编程中的互补工具:Superpowers提供工程化开发流程(从需求梳理到代码审查),确保规范执行;Grill-me通过持续追问帮助厘清需求,避免方向偏差。两者结合形成"构思-拷问-执行"工作流,前者负责方案生成与落地,后者专注需求审查。根据场景选择:个人项目可用Grill-me快速澄清需求,企业项目推荐Superpowers全流程,复杂开发则建议组合使用。它们分别解决"如何落地"和"是否对齐"的问题,共

十年老程序猿,AI 疯狂研究专家,前沿硬核知识分享 322

HDU - 4565 So Easy!(共轭构造+推公式+矩阵快速幂)

题目链接:点击查看 题意:给出a,b,m,n,求 解析:题意一目了然,此题的关键是推出解决问题的公式。 首先,题目要求括号内n次方后向上取整再模m,而这里给到的a与b的关系接下来也会用到:<b< 我们按照共轭构造的形式,构造出=,= 再设=+,由于共轭的性质,易知为整数,又因为<b<,得到0<<1,所以0<<1,题目中要求的向上取整所得...

Falcon的博客 624

Python 爬虫实战:赛事分析平台构建与比赛数据抓取

在体育赛事日益丰富的今天,对比赛数据的收集与分析对于运动员、教练团队以及体育爱好者都具有重要意义。通过构建一个赛事分析平台,我们可以系统地抓取、整理和展示各类比赛数据,为用户提供全面的赛事洞察。本文将深入讲解如何利用 Python 爬虫技术实现这一平台的构建,涵盖从目标网站分析到数据可视化展示的全过程。

u014481728的博客 3179

hdu-4565(矩阵快速幂+推导)

问题描述: A sequence S n is defined as:Sn=[(a+sqrt(b))^(n)] % m,其中[ ] 表示向下取整. Input  There are several test cases, each test case in one line contains four positive integers: a, b, n, m. Where 015,

wust_cyl的博客 779

rknn-toolkit推理yolov5-face.rknn模型--python代码

import os import urllib import traceback import time import sys import numpy as np import cv2 from rknn.api import RKNN ONNX_MODEL = 'yolov5s.onnx' RKNN_MODEL = 'yolov5s.rknn' IMG_PATH = './bus.jpg' DATASET = './dataset.txt' QUANTIZE_ON = True BOX_THR.

C/C++、嵌入式开发、深度学习算法、模型部署与推理优化 3079

YOLO车辆测距、车辆识别与单目测距

YOLO(You Only Look Once)是一种实时物体检测系统,能够识别视频或图像中的多个对象,并确定其位置。结合车辆识别与单目测距技术,YOLO可以用于交通监控、自动驾驶等应用场景,通过单个摄像头实现车辆的识别与距离测量。YOLO结合单目测距技术,在多个应用领域展现出巨大的潜力与灵活性。其实时性和准确性为智能交通、自动驾驶等领域提供了强有力的技术支持。

走向CTO的路上... 1668

hdu 4565(矩阵快速幂)

题意:给出a,b,n,m按如下公式计算输出Sn 题解:和之前做过的一题很像,推导公式如下 (a+根号b)^n = xn + yn×根号b –> (xn-1 + yn-1×根号b)×(a+根号b) = (a*xn-1 + b*yn-1) + (xn-1 + a×yn-1)×根号b然后写成矩阵形式后(a-根号b)^n = xn - yn×根号bxn+yn×根号b = xn+yn×根号b +

俯瞰风景 689

【数据结构】考点二十八 : 二叉树的概念:二叉树的度、完全二叉树、满二叉数结点数、哈夫曼结点数、完全二叉树的深度

二叉树(Binary Tree)是一种常见的数据结构,它或者为空(null),或者由一个根节点(root node)和两个子树(left subtree 和 right subtree)组成,这两个子树又分别是一棵二叉树。二叉树的每个节点最多有两个子节点,通常称为左子节点(left child)和右子节点(right child)。

超越的博客 1737

hdu4565 矩阵构造+矩阵快速幂

第一眼看到就是矩阵快速幂,当然不能拿浮点数来快速幂了,要转化一下。

chenhongwei6447的博客 425

【BUG已解决】ImportError: cannot import name ‘OpenAI‘ from ‘openai‘ 解决方案

的核心是版本不匹配用确认当前版本如果是 0.x 版本 →升级到 1.x升级后代码语法要同步改为团队协作项目务必在中锁定版本号,避免"我这能跑,你那不能跑"的问题对接国产模型时,只需替换base_url参数,SDK 调用方式完全一致。

一键难忘的博客 1万+

PoP(Package on Package)封装技术探讨

PoP(Package on Package)封装技术摘要 PoP是一种3D封装技术,通过垂直堆叠已完成封装的器件(如SoC+DRAM)实现高密度集成,典型应用于智能手机等空间受限场景。其核心优势包括:节省主板面积(垂直堆叠)、优化高速信号完整性(短互连路径)、提升供应链灵活性(独立测试与选型)。PoP结构分为底封装(通常为Flip-Chip BGA的SoC)和顶封装(如FBGA存储芯片),通过焊球阵列互连,一次回流焊完成组装。

sinat_15150363的博客 365

HDU 4565 矩阵快速幂

题目链接题意:求解思路:因为(a+sqrt(b))和(a-sqrt(b))共轭,所以(a+sqrt(b))^n+(a-sqrt(b))^n为一个整数。因为(a-1)^2&lt;b&lt;a^2所以0&lt;a-sqrt(b)&lt;1且0&lt;(a-sqrt(b))^n&lt;1,所以Sn = (a+sqrt(b))^n+(a-sqrt(b))^n。Sn*( (a+sqrt(b))+(a-sqr...

maze_illusion的博客 261

【教程4>第4章>第20节】基于FPGA的costas环整体实现与仿真测试

Costas 环是一种用于载波同步的闭环反馈控制系统,主要应用于通信系统中的相干解调。其基本原理是通过鉴相器(Phase Detector,PD)比较接收信号与本地载波信号的相位差,将这个相位差信息经过环路滤波器(Loop Filter,LF)滤波后,去控制数控振荡器(Numerically Controlled Oscillator,NCO)的输出频率和相位,使得本地载波能够跟踪接收信号的载波,最终实现载波同步。Costas 环环路滤波器在载波同步过程中起着不可或缺的作用。

FPGA/MATLAB学习教程/源码/项目合作开发 1262

HDU4565 So Easy! —— 共轭构造、二阶递推数列、矩阵快速幂

题目链接:https://vjudge.net/problem/HDU-4565 So Easy! Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5525Accepted Submission(s): 1841...

alince20008的博客 200

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

HDU 4565 So Easy!【构造共轭函数+矩阵快速幂】

So Easy! Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6476Accepted Submission(s): 2162 Problem Description   A sequence Snis de...

pxlsdz的博客 358

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

hdu4565 So Easy! 广义斐波那契+矩阵快速幂+共轭构造

http://acm.hdu.edu.cn/showproblem.php?pid=4565 求x=(a+sqrt(b) )向上取整 求Sn=x^n %mod  ---------------------- 记(a+sqrt_b)n为An,(a-sqrt_b)n 为bn 那么Cn=An+Bn=(a+sqrt_b)n+(a−sqrt_b)n 因为A B共轭 所以C为整

缺氧 475

VC中sqlite的使用

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

【构造共轭函数+矩阵快速幂】HDU 4565 So Easy! (2013 长沙赛区邀请赛)

【解题思路】 给一张神图,推理写的灰常明白了,关键是构造共轭函数,这一点实在是要有数学知识的理论基础,推出了递推式,接下来就是矩阵的快速幂了。 神图: 给个大神的链接:构造类斐波那契数列的矩阵快速幂 /* * Problem: HDU No.4565 * Running time: 62MS * Complier: G++ * Author: javaher...

airen6935的博客 177

So Easy! HDU - 4565(矩阵快速幂,无理数矩阵构造,共轭构造)

So Easy! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5416    Accepted Submission(s): 1803 Problem Description   A sequence Sn is de

w571523631的博客 460

HDU-4565 So Easy! 矩阵快速幂 & 共轭构造

原题链接: HDU-4565 Limits: 0< a, m < 2^15, (a-1^)2< b < a^2, 0 < b, n < 2^31大意:RT思路: 有向上取整在,完全没办法算出来的,只能通过推导解掉。 思考为什么不是向下取模而是向上取模。题目式子联想到其共轭形式 代码实现:#include <iostream> #include <string> #include <c

Joovo的博客 689

hdu 4565 So Easy!(共轭构造+矩阵快速幂)

http://acm.hdu.edu.cn/showproblem.php?pid=4565 我们构造这么一个东西 Cn=(a+sqrt(b))^n+(a-sqrt(b))^n 因为是共轭的,所以Cn是一个整数,且因为a*a&gt;b的所以后面那个式子就是一个小于1的数,那么Cn为我们所求. 将 Cn乘上(a+sqrt(b))+(a-sqrt(b)) 可以得到   2*a*Cn=Cn+1...

三水的鱼塘♂ 238

HDU 4565 So Easy! 共轭构造+矩阵快速幂

题意: A sequence S n is defined as:  这么一个等式,要你算Sn

可视化和机器学习 855

HDU - 4565_So Easy!_共轭构造&&矩阵快速幂

题意A sequence S n is defined as: Where a, b, n, m are positive integers.┌x┐is the ceil of x. For example, ┌3.14┐=4. You are to calculate S n. There are several test cases, each test case in one li

弱的奋斗之旅 322

hdu 4565 So Easy! (构造共轭+矩阵快速幂)

http://acm.hdu.edu.cn/showproblem.php?pid=4565 思路:因为 (a-1)2&lt; b&lt; a2,这个计算式可以分成整数部分xn,根号部分yn,a与根号b相等,那么只要算出整数部分再乘以2.   代码: #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;strin...

Oops的博客 249

HDU 4565So Easy!2012长沙邀请赛A题(共轭构造+矩阵的快速幂)

So Easy! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 910    Accepted Submission(s): 247 Problem Description   A sequence Sn is

布生气 3077

HDU---4565 So Easy!2012长沙邀请赛A题(共轭构造+矩阵的快速幂)

题意:   A sequence Sn is defined as: Where a, b, n, m are positive integers.┌x┐is the ceil of x. For example, ┌3.14┐=4. You are to calculate Sn.   You, a top coder, say: So easy! Input   There a...

AAAAAAAC的博客 319
上一篇: 斐波那契数列通项公式推导及其类似构造共轭公式反求递推式
下一篇: graph HDU - 5607(矩阵快速幂+K步可达路径)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值