2013-11-17 10:38

原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1008

比较水的题,直接矩阵乘法+递推就OK了

w[i,0]代表i个人不越狱的方案,

w[i,1]代表i个人越狱的方案,

那么有

w[i,1]:=w[i-1,0]+w[i-1,1]*m;

w[i,0]:=w[i-1,0]*(m-1);

然后用矩阵乘法加速。

然后我们可以发现,w[i,0]就是(m-1)^(i-2)*m

那么n个人,一共有n^m种方案,减去w[n,0]就好了

那么式子就是ans=m^n-m*(m-1)^(n-2)

//By BLADEVIL
const
d39 =; type
rec =array[..,..] of int64; var
n, m :int64;
p :int64;
ans, sum :rec;
w :int64; function mul(a,b:rec):rec;
var
i, j, k :longint;
begin
fillchar(mul,sizeof(mul),);
for i:= to do
for j:= to do
for k:= to do mul[i,j]:=mul[i,j]+(a[i,k]*b[k,j]) mod d39;
end; begin
read(m,n);
if n= then
begin
writeln();
halt;
end;
ans[,]:=; ans[,]:=;
sum[,]:=m-; sum[,]:=; sum[,]:=m;
p:=n-;
while p<> do
begin
if p mod = then ans:=mul(ans,sum);
p:=p div ;
sum:=mul(sum,sum);
end;
w:=((ans[,]*((m*m-m) mod d39) mod d39)+(ans[,]*m mod d39))mod d39;
writeln(w);
end.

最新文章

  1. android listview多视图嵌套多视图
  2. 安装hadoop2.4.0遇到的问题
  3. PLSQL_Oracle簇表和簇表管理Index clustered tables(案例)
  4. min_free_kbytes
  5. poj 1159 Palindrome(dp)
  6. python list列表 方法总结
  7. UISearchBar控件
  8. 【python】matplotlib在windows下安装
  9. Django+Nginx+uWSGI部署
  10. uvalive 5834 Genghis Khan The Conqueror
  11. Linux学习之Centos(三)------系统文件目录及含义详解
  12. 关于Flask-Login中session失效时间的处理
  13. Suse linux enterprise 11添加设置中文输入法的方法
  14. Software License Manager
  15. Python+OpenCV图像处理(四)—— 色彩空间
  16. lnmp部署知乎出现403
  17. StringUtils学习
  18. Java基础(1)JDK的安装与环境变量配置
  19. perl的内置函数scalar
  20. hive学习(四) hive的函数

热门文章

  1. github简单使用教程(转)
  2. Windows Server2003下安装IIS服务脑图
  3. ThreadPool线程池的几种姿势比较
  4. Visual Studio Code 配置Go 开发环境最简单的方法!!!
  5. LeetCode 707 ——设计链表
  6. sqlserver查询数据库中有多少个表,多少视图,多少存储过程,或其他对象
  7. POJ 1144 Network(割点)
  8. Understand:高效代码静态分析神器详解(一) | 墨香博客 http://www.codemx.cn/2016/04/30/Understand01/
  9. c# mysql blob数据类型
  10. MvcMusicStore学习中常出现的一个BUG