Hdu--3306(数学,矩阵快速幂)

2014-09-15 17:57:47

思路:单纯的矩阵构造,推下公式就行。矩阵B:{ AN^2 , AN * AN-1 , AN-1^2 , SN},要注意在初始化转移矩阵时就要取模,因X^2..过大。

 1 /*************************************************************************
 2     > File Name: 3306.cpp
 3     > Author: Nature
 4     > Mail: 564374850@qq.com
 5     > Created Time: Mon 15 Sep 2014 05:20:56 PM CST
 6 ************************************************************************/
 7 
 8 #include <cstdio>
 9 #include <cstring>
10 #include <cstdlib>
11 #include <cmath>
12 #include <vector>
13 #include <queue>
14 #include <iostream>
15 #include <algorithm>
16 using namespace std;
17 typedef long long ll;
18 const int INF = 1 << 29;
19 const ll mod = 10007;
20 
21 ll N,X,Y;
22 
23 struct Mx{
24     ll a[4][4];
25     void clear(){ memset(a,0,sizeof(a)); }
26     void stand(){ memset(a,0,sizeof(a)); for(int i = 0; i < 4; ++i) a[i][i] = 1;}
27     Mx operator * (const Mx &b){
28         Mx c; c.clear();
29         for(int i = 0; i < 4; ++i)
30         for(int j = 0; j < 4; ++j)
31         for(int k = 0; k < 4; ++k){
32             c.a[i][j] = (c.a[i][j] + a[i][k] * b.a[k][j]) % mod;
33         }
34         return c;
35     }
36 };
37 
38 Mx Mx_pow(ll num){
39     Mx res; res.stand();
40     Mx t; t.clear();
41     t.a[0][0] = t.a[3][0] = X*X % mod;
42     t.a[0][1] = t.a[3][1] = 2*X*Y % mod;
43     t.a[0][2] = t.a[3][2] = Y*Y % mod;
44     t.a[1][0] = X % mod;
45     t.a[1][1] = Y % mod;
46     t.a[2][0] = 1;
47     t.a[3][3] = 1;
48     while(num){
49         if(num & 1) res = res * t;
50         t = t * t;
51         num >>= 1;
52     }
53     return res;
54 }
55 
56 int main(){
57     while(scanf("%I64d%I64d%I64d",&N,&X,&Y) != EOF){
58         if(N == 0){
59             printf("0\n");
60             continue;
61         }
62         Mx ans; ans.clear();
63         ans.a[0][0] = 1;
64         ans.a[1][0] = 1;
65         ans.a[2][0] = 1;
66         ans.a[3][0] = 2;
67         ans = Mx_pow(N - 1) * ans;
68         printf("%I64d\n",ans.a[3][0]);
69     }
70     return 0;
71 }

 

转载于:https://www.cnblogs.com/naturepengchen/articles/3973324.html

EMB电子机械制动系统和EHB电子液压制动系统控制功能的对比 EMB电子机械制动系统相比EHB液压制动系统具有显著优势:响应速度更快(<100ms)、控制精度更高(±2N·m)、能实现单轮独立控制,支持0.1%级制动力调节。在ABS、ESC等安全功能上表现更优,制动平顺性和NVH性能更好,同时提升能量回收效率15%-20%。特别适合智能驾驶需求,可使AEB等系统响应时间缩短50ms,紧急制动距离减少1米以上。EMB系统完美契合高阶自动驾驶对快速响应和精准控制的要求。 阅读详情

相关推荐

国密套件ECC-SM2-SM4-CBC-SM3和ECDHE-SM2-WITH-SM4-SM3

双方交换各自的公钥,最后A计算点(x1,y1) = d1Q2,B计算点(x2,y2) = d2Q1,由于椭圆曲线上是可以满足乘法交换和结合律,所以 d1Q2 = d1d2G = d2d1G = d2Q1 ,因此双方的 x 坐标是一样的,所以它是共享密钥,也就是会话密钥。4、客户端和服务端分别使用工作密钥,计算主密钥,客户端随机数,服务端随机数,字符串常量"key expansion",经PRF计算生成工作密钥。工作密钥包括加密密钥和校验密钥,具体密钥长度由选择的密码算法决定。客户端支持的压缩算法列表。

Java学习笔记 3782

矩阵快速幂(构造矩阵)

HDU3306 A(0) = 1 , A(1) = 1 , A(N) = X * A(N - 1) + Y * A(N - 2) (N >= 2);给定三个值N,X,Y求S(N):S(N) = A(0)2 +A(1)2+……+A(n)2。 解: 考虑1*4 的矩阵【s[n-2],a[n-1]2,a[n-2]2,a[n-1]*a[n-2]】 我们需要找到一个4×4的矩阵A,使得它乘以A得到1×...

qq_41856950的博客 92

同济大学C++mooc第五、六讲参考答案

同济大学C++moooc第5、6讲 第五讲 第一题 随机产生10个30~100(包括30,100)的正整数,求它们的最大值、最小值、平均值,并显示整个数组的值和结果。 代码片. // #include<iostream> const int n = 10; using namespace std; int main() { int s[n],i,j,t,sum=0; for (i = 0; i < n; i++)

cjzui6666的博客 1万+

HDU 3306 Another kind of Fibonacci(矩阵快速幂)

题目地址:HDU 3306

scf0920 858

OpenCV 常用的API总结(迅速查询)

OpenCV基本操作 openCV安装 读取图片(IO操作) 绘制集合图形 图像加法以及混合操作 OpenCV图像处理 图像几何变换 形态学操作 图像平滑 直方图 边缘检测 模板匹配 傅里叶变换 轮廓检测 图像分割 图像特征提取 SIFT检测关键点 视频读写............

Peyzhang的博客 3936

OpenManus本地部署实战:从源码编译到浏览器路径优化全解析

本文详细解析了OpenManus本地部署的全过程,从源码编译到浏览器路径优化。涵盖环境准备、源码获取、模型配置、依赖安装等关键步骤,特别针对Windows系统下的chrome.exe路径修改提供了实用解决方案,帮助开发者高效完成部署并优化性能。

weixin_28826545的博客 379

矩阵——hdu3306 Another kind of Fibonacci

http://acm.hdu.edu.cn/showproblem.php?pid=3306 别人的博客写的实在是太好了,我都不好意思不转了 http://www.cnblogs.com/zzuli2sjy/p/5929026.html 然后zzh说这道题会卡常; 然后我各种优化加了之后109ms进第一面了;#include<cstdio> #include<cstring> #incl

我怎么这么菜的呢 275

汽车氛围灯 PCBA 方案开发:从技术底层解析车载光效的核心逻辑

摘要: 车载氛围灯PCBA方案开发需兼顾性能与车规要求。主控芯片选型应关注运算能力、温度适应性和低功耗(如NXPS32K344、复旦微FM33FG065A)。电路防护需采用TVS二极管等组合设计,满足ISO7637-2浪涌防护标准。通信协议分层应用(CAN+LIN),调光需解决色准与温漂问题,动态灯效通过FIFO队列实现。开发中需进行温度循环、振动、EMC等可靠性测试,细节处理(如三防涂覆)至关重要。该领域开发需熟悉车规标准并积累实车经验。

2401_87454052的博客 1132

HDU3306 Another kind of Fibonacci【矩阵快速幂】

Another kind of Fibonacci http://acm.hdu.edu.cn/showproblem.php?pid=3306 Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 3219Accepted Sub...

逐梦者 323

麒麟服务器操作系统QT系列软件工具手册

对Qt提供的开发工具进行了一系列的优化之后,在日常的修复bug和维护框架的过程中,桌面研发对Qt的基础软件库也进行了部分优化工作,包括qtbase、qtwayland、qtscript、qt4-x11等Qt基础组件,涉及的Qt框架版本主要涉及到5.9和5.12两个版本。qt 的翻译,是由 ts 文件生成 qm 文件然后进行翻译,国产操作系统上qt 的翻译是由单独的qttranslations包中进行维护,其次部分汉化问题也是qt组件维护工作的一部分,qt的翻译机制如图4-7所示。

太极淘的博客 543

道家学派创始人老子,对 SAP ABAP 这门编程语言的客观评价

SAP HANA 之引入,使 ABAP 于处理大数据,云计算等新兴领域,展现新的生命力,如老吾老以及人之老,幼吾幼以及人之幼,扩展其在信息技术领域的应用,以涵养更广之需。ABAP 能以数据为基,流转于系统之中,如道法自然,顺应企业之生态,助之以高效运转,减少冗杂,简化管理,使企之运营,如小国寡民,无为而治。然 ABAP 如老树盘根,更替不易,面对新兴技术,如云计算、大数据等,其更新之速,未能与时俱进。如水之于渊,柔而能胜刚,ABAP 之发展,顺时而动,应需而变,其在编程领域,犹如道之于万物,渐不可或缺矣。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1023

快速幂 矩阵快速幂 + 斐波那契数

相关博文: 添加链接描述 添加链接描述 相关题目: poj3070 解题思路:矩阵快速幂求斐波那契数列第n项,至于题目里说的去掉前导0,不用管本来直接int就不会打印出前导0(如果要加上前导0也很简单,printf("%d\n",b[0][1])改成printf("%04d\n",b[0][1])即可) 接下来是我的ac代码: #include<iostream> #include&l...

fusu123456789的博客 308

Vue Vben Admin 登录页修改全攻略:从登录界面定制到接口对接全流程配置

方式一:修改国际化文件找到对应的语言包文件,修改和的值。方式二:直接传递文本page-description="现代化的后台管理系统模板"page-title="欢迎使用 Vue Vben Admin"从上面的代码可以看出,登录表单使用了的方式来定义表单字段,这种方式提供了极大的灵活性。如果你想要自定义表单,可以修改formSchema数组。如果你的登录需求非常特殊,现有的组件无法满足,你可以完全自定义表单。只需在login.vue中替换<template><h2>自定义登录</h2>

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 479

HDU 3306 Another kind of Fibonacci 矩阵快速幂

题目链接 因为S(N) , S(N) = A(0)^2 +A(1)^2+……+A(n)^2.所以构造的矩阵一定要维护A(n)^2 s[n-1]=s[n-2]+A[n-1]^2 A[n]=x*A[n-1]+y*A[n-2] A[n]^2=x^2*A[n-1]+y^2*A[n-2]+2*x*y*A[n-1]*A[n-2] 所以说还要维护A[n-1]*A[n-1] 这个递推...

swust5120171204的博客 218

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Statistics and Machine Learning Toolbox

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

Another kind of Fibonacci 【HDU - 3306】【矩阵快速幂】

题目链接 直接推公式吧: 我们可以知道: 然后问题就在于如何化简其中的了,如果能找到相关联的性质就方便了: 于是,我们就可以确定了最近三个变量的相互关系了。 我们可以利用、、、这几个变量来构造矩阵,这样即可构成快速幂来优化时间了。具体矩阵详看代码。 #include <iostream> #include <cstdio> #include &lt...

既然弱小,就只顾变强就是了 182

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

HDU 3306 Another kind of Fibonacci (矩阵快速幂)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3306 题意:A(N) = X * A(N - 1) + Y * A(N - 2) (N >= 2). S(N) = A(0)2 +A(1)2+……+A(n)2. 给出N,X,Y求S(N) 思路: 首先有这些关系: S(n) = S(n -1) + A(n)^2 A(n) = xA(n - 1

cookiesMonster 295

lwip-2.0.3

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

矩阵快速幂(Matrix_Fast_Power)

一、基础知识 (1)矩阵乘法 https://blog.youkuaiyun.com/weixin_43272781/article/details/82899737 简单的说矩阵就是二维数组,数存在里面,矩阵乘法的规则:A*B=C 其中c[i][j]为A的第i行与B的第j列对应乘积的和,即: 代码: const int N=100; int c[N][N]; void multi(int ...

无限迭代中...... 1300

hdu3306Another kind of Fibonacci+矩阵快速幂

Description As we all known , the Fibonacci series : F(0) = 1, F(1) = 1, F(N) = F(N - 1) + F(N - 2) (N >= 2).Now we define another kind of Fibonacci : A(0) = 1 , A(1) = 1 , A(N) = X * A(N - 1) + Y * A

xtulollipop 396

HDU 3306 Another kind of Fibonacci(矩阵快速幂)

Another kind of Fibonacci As we all known , the Fibonacci series : F(0) = 1, F(1) = 1, F(N) = F(N - 1) + F(N - 2) (N >= 2).Now we define another kind of Fibonacci : A(0) = 1 , A(1) = 1 , A(N) = X *...

Tan_JX 285

HDU 3306 矩阵快速幂

题解: S(n) = S(n - 1) + A(n)^2 = S(n-1) + x^2*A(n-1)^2 + 2*x*y*A(n-1)A(n-2) +y^2*A(n-2)^2构造矩阵 code :  #include #include #include using namespace std; const int p = 10007; int n, x, y; st

退役ACMer 671

HDU3306(矩阵快速幂)

正在死磕矩阵类的题,这个题不是很难,想到构造关于A2nA_n^2的矩阵就没问题了。 公式给我们了,直接构造矩阵就好了 ⎡⎣⎢⎢⎢⎢A2nA2n−1AnAn−1Sn−1⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢x21x1y20002xy0y00000⎤⎦⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢A2n−1A2n−2An−1An−2Sn−2⎤⎦⎥⎥⎥⎥ \begin{bmatrix} A_n^2\\ A_{n-1

Cai_Haiq的博客 427

hdu3306 矩阵快速幂

1 #include<stdio.h> 2 #include<string.h> 3 #define MOD 10007 4 int main() 5 { 6 int n,x,y,i,j,k,doit[5][5],temp[5][5],a[5][2]; 7 while (~scanf("%d%d%d",&n,&x...

weixin_34018202的博客 108

杭电oj3306:Another kind of Fibonacci题解(矩阵快速幂)

快速矩阵的好题 题目链接:Problem - 3306 (hdu.edu.cn) 题目描述 : 解题思路: 1.首先,提取问题: 已知, 求 2.代公式: 3.化位矩阵: 矩阵A的构造过程: 第一行不多说。 第二行需要将矩阵中的变为,倒着往回推: 第三行需要将变为,同样,倒着往回推: 第四行将变为。 4.得到A和X矩阵后,还需要找到初始X矩阵和A的次幂关系。 因为已知,所以从开始计算,所以n最小为2。此时初始矩阵为: 此时矩阵A应...

issey的博客 354

矩阵快速幂总结

矩阵快速幂总结

Muti-Agent 3376

HDU3306 矩阵快速幂

/***************** Sn-1                         1   X^2  Y^2  2XY             Sn An-1^2              *       0   X^2  Y^2  2XY    =       An^2 An-2^2                      0    1     0      0      

cccrown的专栏 642

hdu 3306 Another kind of Fibonacci 矩阵快速幂

Now we define another kind of Fibonacci : A(0) = 1 , A(1) = 1 , A(N) = X * A(N - 1) + Y * A(N - 2) (N >= 2).And we want to Calculate S(N) , S(N) = A(0)2 +A(1)2+……+A(n)2. s( n ) = s(n-1) + An^2 

OceanLight的专栏 1079
上一篇: Uva--658(图论,最短路,bit)
下一篇: Poj--1681(数学,高斯消元)
dingdi3021
博客等级 码龄11年 1粉丝 230原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值