ACM之数学
noname40
这个作者很懒,什么都没留下…
展开
-
poj 1995 整数快速幂模m
题意:做codeforces碰到的矩阵快速幂,学的过程中顺便学学这种二分幂的方法。题意就是求ai^bi进行累加和,最后模m。思路:将幂转化成二进制来算。#include#includeusing namespace std;int main() { long long Z , M , H , a , b; scanf("%lld",&Z); while (原创 2012-05-07 18:12:11 · 1776 阅读 · 0 评论 -
poj 3233 矩阵快速幂 + 二分求和
题意:给定n*n的矩阵和一个整数k , 要求计算 S = A + A^2 + A^2 + ... + A^k。思路:A^i 可以通过 矩阵快速幂求得,但是由于k比较大,普通矩阵累加和会TLE,这里学习了一种二分的方法。思路通过群里大牛的提示 + 参考了依然题解。S = A + A^2 + ... + A^k/2 + A^k/2(A + A^2 + ... + A^k/2) 此时要讨论k原创 2012-05-10 19:05:35 · 656 阅读 · 0 评论 -
poj 3070 Fibonacci + 矩阵乘法(矩阵快速幂)
题意:就是求第n个斐波那契数。思路:因为 F(n) = F(n-1) + F(n-2); F(n-1) = F(n-1) + 0*F(n-2);则有矩阵A [1 1] [F(n-1)] [ F(n) ] [1]原创 2012-05-10 17:49:44 · 1062 阅读 · 0 评论 -
Codeforces Round #118 (Div. 2) :C (矩阵快速幂)类似与斐波那契+矩阵乘法
参考地址:http://acshiryu.com/archives/1349如图:就是求第n个图形的上三角形的个数。设f[n]为第n个图形的上三角的个数 g[n]为第n个图形的下三角的个数则有:f[n]=3*f[n-1]+g[n-1];g[n]=3*g[n-1]+f[n-1];可以用矩阵快速幂解决。#include#include#define Mod原创 2012-05-10 18:07:49 · 1794 阅读 · 0 评论 -
poj 2407 求欧拉函数值
题意:给出n求欧拉函数值。以后再把求欧拉函数的方法完善下,看来知识都有连锁反应啊。。。想做一道题得看不少东西。。。先看看欧拉这个鸟人。。#include#include#includeusing namespace std;int phi(int n) { int ans = n; for(int i = 2 ; i*i <= n ; i ++) {原创 2012-08-11 23:00:01 · 1095 阅读 · 0 评论 -
poj 1061 青蛙的约会
题意:中文题 不解释了思路:两只青蛙跳了t步,A的坐标是x+mt,B的坐标是y+nt。它们相遇的时间的充要条件是:x+mt-y-nt=pL即:(n-m)t+Lp = x-y ----- ax+mx= b解这个同余方程的非负整数解就行x0解出的是ax+mx=d(d是a , b最大公约数) 有解的时候 d|b 所以把x0扩大d/b倍数即可#include#include#inc原创 2012-09-02 16:24:47 · 382 阅读 · 0 评论