快速幂
threeh20
暑假有半个月整个人像死了一样,所以更加明白生命的可贵
展开
-
hdu 1575 Tr A
Tr A Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5238 Accepted Submission(s): 3927 Problem Description A为一个方阵,则Tr A表示A的迹(就是主对角线上原创 2017-07-24 20:13:24 · 220 阅读 · 0 评论 -
2018 Multi-University Training Contest 7 hdu6395 Sequence(矩阵快速幂+二分划块)
http://acm.hdu.edu.cn/showproblem.php?pid=6395 看公式我们可以发现对于一个n,可以分成若干块,这若干块的p/n向下取整都是相同的。那么就可以矩阵快速幂了。 比如100 可以分成100-51 50-34 33-26 。。。。。。 可以用二分来划分块。 #include<bits/stdc++.h> using names...原创 2018-08-13 18:21:58 · 150 阅读 · 0 评论 -
hdu 5451 Best Solver(循环节+共轭构造)
http://acm.hdu.edu.cn/showproblem.php?pid=5451 如果指数不是那么大的话,就和那个SO EAST那道题一样的用矩阵快速幂来做 但是指数是2的2的31次方那么大,底数还是个无理数, 降幂不能 看了别人的优秀代码 ,发现是寻找循环节.因为模数很小. 对于每一个模数,都有自己的循环节. 向上取整的递推公式是 Cn=10*Cn-1 -Cn-2 ...原创 2018-07-31 16:22:35 · 234 阅读 · 0 评论 -
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>b的所以后面那个式子就是一个小于1的数,那么Cn为我们所求. 将 Cn乘上(a+sqrt(b))+(a-sqrt(b)) 可以得到 2*a*Cn=Cn+1...原创 2018-07-31 15:57:02 · 148 阅读 · 0 评论 -
POJ 3613 Cow Relays (floyd+快速幂)
http://poj.org/problem?id=3613我们都知道如果单纯的求从s点到e点恰好经过k条边的路径数量。就直接将01表进行k次幂即可。那么如果是求最短路径长度呢。那就是把邻接矩阵进行k次floyd即可。具体解释比较复杂。记住即可。k最大有1000000.所以快速幂一下,只要将矩阵相乘那一段,改成floyd即可真是奇妙。#include<iostream> #includ...原创 2018-07-11 11:01:20 · 122 阅读 · 0 评论 -
FZU 1627 Revival's road
http://acm.fzu.edu.cn/problem.php?pid=1627 给一张图,每走一步为1s,求正好在k秒到达终点的走的方法数。 以前做过类似的题目,利用矩阵相乘的知识可得到,将地图转换为01矩阵,该矩阵的x次方即为在x秒时(或者是走过x个点)从i到j的方法数。 所以这题用矩阵快速幂即可。 #include #inc原创 2017-12-03 19:51:03 · 211 阅读 · 0 评论 -
hdu 5950 Recursive sequence
http://acm.split.hdu.edu.cn/showproblem.php?pid=5950 #include #include #include #include #include #include #include using namespace std; struct js{ long long int原创 2017-10-14 10:39:38 · 198 阅读 · 0 评论 -
hdu 2197 本原串
本原串 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1471 Accepted Submission(s): 500 Problem Description 由0和1组成的串中,不能表示为由几个相同的较小的串连接原创 2017-07-26 19:30:13 · 221 阅读 · 0 评论 -
hdu 2604 Queuing
Queuing Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5862 Accepted Submission(s): 2559 Problem Description Queues and Priority Q原创 2017-07-26 19:22:49 · 202 阅读 · 0 评论 -
hdu 1061 Rightmost Digit
Rightmost Digit Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 57040 Accepted Submission(s): 21561 Problem Description Given a posi原创 2017-07-26 19:17:07 · 150 阅读 · 0 评论 -
hdu 2157 How many ways??
How many ways?? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3438 Accepted Submission(s): 1324 Problem Description 春天到了, HDU校园里开满原创 2017-07-26 19:15:32 · 232 阅读 · 0 评论 -
zoj 3497 Mistwald(矩阵快速幂)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3497. 按照规则处理一下建图即可, 然后就是一个最大25*25的矩阵快速幂了 #include<bits/stdc++.h> using namespace std; struct node{ int ma[33][33]; }; i...原创 2018-10-21 13:02:39 · 193 阅读 · 0 评论