算法

1.弗洛伊德求最短路:
例题:hdu1874
1

2.快速幂
例题:hdu汉诺塔V
原理:x^2n = x^n x^n;x^2n+1 = x^n x^n x
下面是ans为a^b的模版

1
2
3
4
5
6
7
8
9
int ans = 1;
//a=a%c;
while(b>0)
{
if(b % 2 == 1)
ans = (ans a) ;//% c;最后两次循环为2/2=1;1/2=0
b = b/2;
a = (a * a) //% c;
}

扩展应用快速幂求膜。