
矩阵快速幂
yp_2013
这个作者很懒,什么都没留下…
展开
-
hdu 5564 Clarke and digits
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=5564 题意: 求长度在l到r之间,能被7整除,且相邻数位和不是k的数的个数?思路: 很明显的dp题目,需要记录的是位数,(数位和)mod7的值,以及最后一位的值。 这样状态转移方程式倒是很好写,但是 1e9*7*10复杂度太高了,所以需要用矩阵快速幂去优化!!!也是蛮好想的,定义A是状态矩阵原创 2016-01-28 21:04:22 · 488 阅读 · 0 评论 -
Codeforces 621 E Wet Shark and Blocks
传送门: http://codeforces.com/problemset/problem/621/E题意:给出n,b,k,x,每个盒子里有n个数,有b个盒子,从每个盒子中随机选出一个数(必选),使得形成的大数modx==k。 b是10的9次幂,这题其实一看就是dp加矩阵快速幂,当时比赛的时候过的人数就比D题多,就感觉肯定是道模型水题,其实之前我的博客里面就有一道类似的题,而且这道题目还比那道题原创 2016-02-03 22:34:29 · 662 阅读 · 0 评论 -
矩阵快速幂模板
#include <cstdio> #include <cstring> #include <algorithm> using namespace std;int x, k, c; long long m;struct Mat { int v[2][2]; Mat() {memset(v, 0, sizeof(v));} Mat operator * (const Mat&原创 2016-05-23 20:15:42 · 263 阅读 · 0 评论 -
快速幂小trick
快速幂底大于1e9时需要mod一下,才行, 不然快速幂里面就会乘爆了#include <bits/stdc++.h> using namespace std; const int maxn = 1e5 + 10; long long a, m ,n ; const long long mod = 1e9 + 7; long long qp(long long n ,long long m){原创 2017-04-09 10:11:13 · 336 阅读 · 0 评论