題目看了半天沒看懂,,就是把乙個數列更新r次,每次更新就是計算和,就是每乙個數,只要出現了的錶號都要加上去,具體看**
矩陣快速冪實現加速
#include#includeview code#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define pi acos(-1)
#define ll long long
#define mod 1000
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/stack:1024000000,1024000000")
using
namespace
std;
const
double g=10.0,eps=1e-9
;const
int n=50+5,maxn=1
<<10+5,inf=0x3f3f3f3f
;struct
node;
node mul(node x,node y)
node quick_mul(node x,ll n)
return
ans;
}int
main()
}/*for(ll i=0;i*/
a=mul(quick_mul(b,r),a);
for(ll i=0;i0]<
\n' : '');
}return0;
}
uva1386 矩陣快速冪
題意 乙個細胞自動機,有n個格仔,每個格仔的取值為0 m 1。給定距離d,每次操作後每個格仔的值將變為到它距離不超過d的所有格仔在操作之前的值之和除以m的餘數。思路 矩陣快速冪 include include define ll long long const int n 505 int n,m,d...
快速冪(矩陣快速冪)
求 3 0 3 1 3 n mod 1000000007 input 輸入乙個數n 0 n 10 9 output 輸出 計算結果 sample input 3sample output 40 分析 利用等比數列的求和公式得所求和是 3 n 1 1 2,如果暴力求3 n 1 會超時,這裡引入快速冪來...
快速冪 矩陣快速冪
快速冪 正常情況下求乙個數的冪時間複雜度為o n 而快速冪能把時間複雜度降到o logn 舉個例子 求5的13次方 思想首先把13化為二進位制 1101,即13 1101 8 1 4 1 2 0 1 1 即5 13 58 1 54 1 52 0 5 1 15 5 8 1 5 4 1 5 2 0 5 ...