[Integration] matrix tree theorem template and matrix theorem Template
Tree theorem survival tree counting template.Original question: SPOJhighwaysCode is long and ugly...
# Include
Copyright Disclaimer: This article is an original article by the blogger and cannot be reproduced without the permission of the blogger
P3390 [TEMPLATE] rapid matrix power, p3390 MatrixBackground
Rapid matrix powerDescription
Given n * n matrix A, evaluate A ^ kInput/Output Format
Input Format:
The first line, n, k
The number of n rows from 2nd to n + 1. The number of j rows in I + 1 indicates the elements in column j of row I in the
Luogu P3390 [TEMPLATE] rapid matrix power, luogup3390 MatrixBackground
Rapid matrix powerDescription
Given n * n matrix A, evaluate A ^ kInput/Output Format
Input Format:
The first line, n, k
The number of n rows from 2nd to n + 1. The number of j rows in I + 1 indicates the elements in column j of row I in the
P1939 [TEMPLATE] matrix acceleration (series), p1939 MatrixDescription
A [1] = a [2] = a [3] = 1
A [x] = a [X-3] + a [x-1] (x> 3)
Returns the remainder value of the nth clause of Series a on 1000000007 (10 ^ 9 + 7.Input/output format:
The first line is an integer T, indicating the number of queries.
The following T rows have a positive integer n in each row.
Output Format:
Each row outputs a non-negativ
The algorithm does not say, anyway, is based on string matching. Compare the KMP and Rabin-karp algorithms here.
592788
Lizitong
2462
Accepted
4828 KB
680 Ms
C++/edit
2349 B
2014-03-29 19:07:02
#include
820112
Lizitong
2462
Accepted
2880 KB
980 Ms
C++/edit
3103 B
2014-12-27 11:35:21
#include Although the asymptotic complexity is the same, it is clear that KMP is
led to the Fibonacci of another representation method (the problem has been given), according to the description, we only require the 2*2 matrix {{1,1},{1,0}}^ n can do it.This leads to a new algorithm: Matrix fast Power (according to the Fast power adaptation, the fast power calculation is the number of the N-square, and this is the matrix of the n-th square).#
) {printf ("%lld\n", K); Continue; } Mat ans= (temp^ (k-9)) *first;//notice, the order here is not reversed.printf"%lld\n", ans.mat[9][0]); } return 0;}View CodeMatrix templatesConst intMOD, MAXN;//mod for remainder, MAXN as matrix rangestructmat{ll MAT[MAXN][MAXN]; //open a long longMat () {Mes (Mat,0); F (i,0, MAXN) mat[i][i]=1;//the diagonal is initialized to 1, the other 0}} E; //Unit MatrixMat First, temp; Matoperator* (Mat A, Mat b)//overload
Since unity has only a 4x4 matrix, today is going to do a 2x2 matrix rotation and actually forget the order. So write down as a template record.Order:The following is the C # code that you use to rotate it: Public structposition{ Public intX; Public intY; Public Override stringToString () {return "X:"+ X +"Y:"+Y;}}voidOnenable ()//Execute{ varPosition =NewPo
/* Matrix Quick Power Template Fibonacci */#include Recursive SequenceTime limit:1000MS Memory Limit:65536KB 64bit IO Format:%i64d %i6 4u HDU 5950description Farmer John likes to the play mathematics games with his N cows. Recently, they is attracted by recursive sequences. In each turn, the cows would stand with a line, while John writes, the positive numbers A and B on a blackboard. And then, the cows
A background template I want to change it for a long time. The Matrix Admin was found last time. Like Ace, it's bootstrap style and easy to get started with. The matrix needs to be more robust. It is also possible to feel the user interface.Overall style:1. Form validationValidation is aided by the jquery.validate.js. There are rich authentication methods, more A
Pow: *** should be added to the POW of a namespace ::****
1 namespace POW {
2 typedef int t; // you can change "int" to the Data Type stored in the matrix.
3 const t mod = T (1e9 + 7); // change to the modulus required by the fast power.
4
5 template 6 T powmod (t a, int N, t mod ){
7 t ans =;
8 -- N;
9 While (n ){
10 if (N 1) ans = ans * A % MOD;
11 A = A * A % MOD;
12 N> = 1;
13}
14 return ans;
15}
16
This is followed by an implementation of the multiplication sequence of the query matrix in the previous article. This class can accept input and calculate the final result.
Because I recently learned C ++, I naturally wrote this thing as a class and implemented it in template mode. It is indeed very neat.
// Matrix. h
The template is as follows: // HDU 4888: http://acm.hdu.edu.cn/showproblem.php? PID = 1, 4888
# Include
Template (network stream judgment: whether there is a matrix of always rows and columns)
The basic line segment tree should be noted that, due to the set and add operations, when the push-down is marked as lazy, the set is given priority, and then the ADD is given priority. Each time you execute the set operation, the ADD is marked as 0.
Wa has been used several times because of a problem during the Computing period. The funny thing is that I found the template for more than an hour.
# Include
[Ultraviolet A] 11992-Fast
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.