HDU 4382 【矩阵快速幂】【欧拉降幂】
自己的思路写的 102 × 102 大小的转化矩阵,好在线代学的还行想到用矩阵分块乘法过了…
看其他人的题解用的 3 × 3
构造一个 转化矩阵 T T T ,一个用来存储结果的 P P P
先令 P = [ C 1 , C 2 ] P = [C1,C2] P=[C1,C2] 也就是一个 2 × 1 2\times1 2×1 的矩阵,那么 SET/ADD C1|C2 C1|C2 \text{SET/ADD C1|C2 C1|C2} SET/ADD C1|C2 C1|C2 和 MUL C1|C2 Number \text{MUL C1|C2 Number} MUL C1|C2 Number 的转化矩阵可如下构建:(以 C1 为例;这里是左乘转化矩阵,线代中也一般是左乘,acm 竞赛中有的习惯右乘,没有太大区别)
对于 ADD/SET C1|C2 Number \text{ADD/SET C1|C2 Number} ADD/SET C1|C2 Number ,我是多开了 100 个“格子”来放可能的常数,实际上只用多开一个“格子”就行了:
开始令转化矩阵 T = E T = E T=E ( E E E 代表单位矩阵——左上到右下的主对角线全是 1,其余全是 0,单位矩阵乘任何矩阵都等于那个矩阵,相当于整数乘法的 1),然后根据每条指令构造相应的转化矩阵 T c u r Tcur Tcur, 把所有指令的矩阵乘起来就行( T × T c u r T \times Tcur T×Tcur 和 T c u r × T Tcur \times T Tcur×T 都可以,这里左乘右乘最终的结果一样);
然后对于每个询问的次数 N N N ,由于 N N N 很大,就在转化为 十进制数(* 10 + s[i]-‘0’)的过程中对 ( m o d e − 1 ) (mode-1) (mode−1) 取模,然后跑一遍矩阵快速幂。幂次太大的话幂数对 ( m o d e − 1 ) (mode-1) (mode−1) 取模最终答案一样,这就是欧拉降幂,具体原理不详(搜别人的题解好多高精度的差点让我以为矩阵快速幂不能欧拉降幂)。
最后把矩阵 [ C 1 , C 2 , 1 ] = [ V , 0 , 1 ] [C1,C2,1] = [V,0,1] [C1,C2,1]=[V,0,1](我这是左乘,这个矩阵就是竖着写 3 × 1;右乘的话上面的转化矩阵要改) 左乘上面得到的 T T T 就行,结果输出的是 C 2 C2 C2 的值(有个不细看题目的人以为输出的是 C1 的值,拿别人的代码对拍才发现输出的东西不对)。
HDU 4382 【矩阵快速幂】【欧拉降幂】相关推荐
- Product Oriented Recurrence(Codeforces Round #566 (Div. 2)E+矩阵快速幂+欧拉降幂)
传送门 题目 fn=c2∗n−6fn−1fn−2fn−3\begin{aligned} &f_n=c^{2*n-6}f_{n-1}f_{n-2}f_{n-3}&\\ \end{alig ...
- bzoj 1409 Password 矩阵快速幂+欧拉函数
可以发现,该数组的mi就是斐波那契数列 所以要矩阵快速幂搞出第n位 但是斐波那契数列上涨的很快,这就需要欧拉定理了 p^phi(q)%q=1(gcd(p,q)==1) p是素数,所以可以用 然后需要5 ...
- HDU 5411(矩阵快速幂)
本题目意思: 给定n个点,给定一个n*n的转移矩阵,要求求出所有长度不大于M的序列个数,(M<=1E5 , n <= 50) 分析: 记 d[i][j] 生成至多长度为i的且以j开头的所有 ...
- Give Candies【快速幂+欧拉】
Give Candies 时间限制: 1 Sec 内存限制: 128 MB 提交: 243 解决: 92 [提交] [状态] [命题人:admin] 题目描述 There are N children ...
- hdu 1757(矩阵快速幂)
题意:公式如下 If x < 10 f(x) = x. If x >= 10 f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + -- + a ...
- HDU - 5667 Sequence(矩阵快速幂+费马小定理降幂)
题目链接:点击查看 题目大意:给出函数f(x): 现给出n,a,b,c,mod,求f(n)对mod取模后的结果 题目分析:这个题目相对于前几个题来说稍微加大了点难度,但还是挺水的一个题,首先我们可以对 ...
- HDU 6185 Covering 矩阵快速幂 递推
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6185 题目描述: 一个4*n的矩形, 你用1*2的矩形覆盖有多少种方案, n <= 1e18 ...
- hdu 5451 Best Solver 矩阵循环群+矩阵快速幂
http://acm.hdu.edu.cn/showproblem.php?pid=5451 题意:给定x 求解 思路: 由斐波那契数列的两种表示方法, 之后可以转化为 线性表示 F[n] = ...
- YBTOJ:斐波拉契(矩阵快速幂)
文章目录 题目描述 题目描述 代码 题目描述 题目描述 关键在于如何转化为本题的题目... 设 y=(1-根号5)/2$$ 再令: A(n)=xn +++ yn 通过尝试可以发现,A其实就是一个1,3 ...
最新文章
- 004_Ajax服务器响应
- 做企业网站为什么要服务器呢,企业为什么要建站?
- 【HDU - 5988】Coding Contest(网络流费用流,改模板)
- 用了 HTTPS,没想到还是被监控了!
- 什么是COM组件(ZT)
- ThinkPHP项目笔记之RBAC(权限)补充篇
- 数据库实验五-数据库设计实验
- 最重要的事只有一件读后感
- NVIDIA驱动安装(arm64平台可用)
- 资阳与“华为”携手共建资阳天府云计算中心
- js将html转为word文档,js将html导出到word文档(含echarts图表)
- 引入jquery不起作用 原因
- (对抖音程序员隔空笔芯)抖音解析去水印iteminfo接口被封死,再放一个最新的去水印原理,无视频长度限制
- 比尔及梅琳达·盖茨基金会承诺将投入最高1.2亿美元帮助低收入国家获取新冠药物...
- 如何将json类型的数据转换成csv格式
- easyexcel 合并单元格
- AD原理图以及PCB图元件(作为库)绘制流程
- ios和Android关于日期的格式兼容
- 1--新唐nuc980 NUC980移植 UBOOT,从外部mx25l启动
- win10文件后缀名怎么显示_【w010】如何隐藏或显示win10系统中3D文件夹
热门文章
- 结构化数据、非结构化数据、数据清洗等概念
- ios仿淘宝商品详情页面粘贴商品规格弹出模板
- Oracle公有云上的ADG配置(单实例)
- Java后端必备的开发规范
- STM32 —— Modbus 协议
- 计算机计算芯片原理,集成电路-CPU运行基本原理 CPU是计算机的核心,弄清楚CPU的运行基本原理,也就明白了计算机系统中各种芯片的数据处理和存储功能是如何实现。 在往期... - 雪球...
- 《黑客防线》2010合订本(下半年)
- 获取XBOX360体感大冒险照片
- 基于端口的信息探测-portscan-1.0
- 分形——谢尔宾斯基三角形