題意:
乙個細胞自動機,有n個格仔,每個格仔的取值為0~m-1。給定距離d,每次操作後每個格仔的值將變為到它距離不超過d的所有格仔在操作之前的值之和除以m的餘數。
思路:矩陣快速冪
#include #include #define ll long long
const int n = 505;
int n, m, d, k;
struct mat ;
mat ceil, x;
mat mul (const mat& a, const mat& b)
return ans;
}void pow (int n)
x = ans;
}int main ()
printf("\n");
}return 0;
}
矩陣快速冪 優化LA3704(uva1386)
根據題意可以構造出矩陣 a 假設d 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 0 然後矩陣快速冪就可以解了,但是這個題的規模是500的,如果直接三重for迴圈會超時,觀察矩陣可以發現,這個矩陣是有特點的,所以可以只儲存一行,然後就是o n 2 logk 的複雜度,就可以a了。下面是...
uva11551矩陣快速冪
題目看了半天沒看懂,就是把乙個數列更新r次,每次更新就是計算和,就是每乙個數,只要出現了的錶號都要加上去,具體看 矩陣快速冪實現加速 include include include include include include include include include include inc...
快速冪(矩陣快速冪)
求 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 會超時,這裡引入快速冪來...