1. /*
  2. 构造转移矩阵:
  3. 先推公式:
  4. 首先是第0行:A[0][j+1]=A[0][j]*10+3
  5. 1-n行: A[i][j+1]=A[i][j]+A[i-1][j+1]=...
  6. =A[i][j]+A[i-1][j]+...+A[1][j]+A[0][j+1]
  7. 所以第j+1行状态可以由第j行通过乘上一个转移矩阵得到
  8. 那么就是转移矩阵的构造
  9. 设F[j]为第j列,F[j+1]为第j+1列,B为转移矩阵
  10. 有 F[j+1]=B*F[j]
  11. 按照递推性质
  12. 1 0 0 0 0 ... 0 3 3
  13. 1 10 0 0 0 ... 0 A[0][j] A[0][j+1]
  14. 1 10 1 0 0 ... 0 * A[1][j] = A[1][j+1]
  15. 1 10 1 1 0 ... 0 A[2][j] .
  16. 1 10 1 1 1 ... 0 A[3][j] .
  17. 1 10 1 1 1 ... 1 A[n][j] A[n][j+1]
  18. 规定初始数组F[0]=[3,233,a1,a2...an]
  19. */
  20. #include<bits/stdc++.h>
  21. using namespace std;
  22. #define ll long long
  23. #define mod 10000007
  24. ll F[],a[];
  25. ll n,m;
  26. struct Mat{
  27. ll m[][];
  28. Mat(){memset(m,,sizeof m);}
  29. };
  30. void mul1(Mat A,ll F[]){
  31. ll B[]={};
  32. for(int i=;i<n+;i++)
  33. for(int j=;j<n+;j++)
  34. B[i]=(B[i]+A.m[i][j]*F[j]%mod)%mod;
  35. memcpy(F,B,sizeof B);
  36. }
  37. void mul2(Mat & A,Mat B){
  38. Mat C;
  39. for(int i=;i<n+;i++)
  40. for(int j=;j<n+;j++)
  41. for(int k=;k<n+;k++)
  42. C.m[i][j]=(C.m[i][j]+A.m[i][k]*B.m[k][j]%mod)%mod;
  43. memcpy(A.m,C.m,sizeof C.m);
  44. }
  45. int main(){
  46. while(cin>>n>>m){
  47. F[]=,F[]=;
  48. for(int i=;i<n+;i++)cin>>F[i];
  49. Mat A,B;
  50. for(int i=;i<n+;i++)A.m[i][]=;
  51. for(int i=;i<n+;i++)A.m[i][]=;
  52. for(int j=;j<n+;j++)
  53. for(int i=j;i<n+;i++)
  54. A.m[i][j]=;
  55.  
  56. while(m){
  57. if(m%)
  58. mul1(A,F);
  59. mul2(A,A);
  60. m>>=;
  61. }
  62. cout<<F[n+]<<endl;
  63. }
  64. }

hdu5015构造转移矩阵的更多相关文章

  1. 从随机过程到马尔科夫链蒙特卡洛方法(MCMC)

    从随机过程到马尔科夫链蒙特卡洛方法 1. Introduction 第一次接触到 Markov Chain Monte Carlo (MCMC) 是在 theano 的 deep learning t ...

  2. 北京培训记day1

    数学什么的....简直是丧心病狂啊好不好 引入:Q1:前n个数中最多能取几个,使得没有一个数是另一个的倍数   答案:(n/2)上取整 p.s.取后n/2个就好了 Q2:在Q1条件下,和最小为多少 答 ...

  3. MCMC 、抽样算法与软件实现

    一.MCMC 简介 1. Monte Carlo 蒙特卡洛 蒙特卡洛方法(Monte Carlo)是一种通过特定分布下的随机数(或伪随机数)进行模拟的方法.典型的例子有蒲丰投针.定积分计算等等,其基础 ...

  4. 2014 ACM/ICPC Asia Regional Xi'an Online

    03 hdu5009 状态转移方程很好想,dp[i] = min(dp[j]+o[j~i]^2,dp[i]) ,o[j~i]表示从j到i颜色的种数. 普通的O(n*n)是会超时的,可以想到o[]最大为 ...

  5. BZOJ4471 : 随机数生成器Ⅱ

    \[\begin{eqnarray*}x_i&=&x_{i-1}+x_{i-2}\\x_i^2&=&x_{i-2}^2+x_{i-1}^2+2x_{i-2}x_{i-1 ...

  6. [转] - MC、MC、MCMC简述

    贝叶斯集锦(3):从MC.MC到MCMC 2013-07-31 23:03:39 #####一份草稿 贝叶斯计算基础 一.从MC.MC到MCMC 斯坦福统计学教授Persi Diaconis是一位传奇 ...

  7. 随机采样方法整理与讲解(MCMC、Gibbs Sampling等)

    本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到P ...

  8. AC自动机基础知识讲解

    AC自动机 转载自:小白 还可参考:飘过的小牛 1.KMP算法: a. 传统字符串的匹配和KMP: 对于字符串S = ”abcabcabdabba”,T = ”abcabd”,如果用T去匹配S下划线部 ...

  9. LDA-math-MCMC 和 Gibbs Sampling

    http://cos.name/2013/01/lda-math-mcmc-and-gibbs-sampling/ 3.1 随机模拟 随机模拟(或者统计模拟)方法有一个很酷的别名是蒙特卡罗方法(Mon ...

随机推荐

  1. 【blog】SpringMVC接收数组

    页面 var idsArray = new Array(); idsArray.push(userId); SpringMVC @RequestParam(value = "ids[]&qu ...

  2. Mybatis(一)入门介绍

    一.MyBatis的发展 MyBatis 是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到google code, 并且改名M ...

  3. 课程9:《hibernate框架开发2016版视频》视频目录

    \第1天\视频\01_今天内容介绍.avi; \第1天\视频\02_web内容回顾.avi; \第1天\视频\03_hibernate框架概述.avi; \第1天\视频\04_什么是orm思想.avi ...

  4. Setup Sight Sense

    调节感知组件参数 绑定视觉事件 PawnSensingComp->OnSeePawn.AddDynamic(this, &AFPSAIGuard::OnPawnSeen); 在头文件中声 ...

  5. CF1108F MST Unification

    题目地址:CF1108F MST Unification 最小生成树kruskal算法的应用 只需要在算法上改一点点 当扫描到权值为 \(val\) 的边时,我们将所有权值为 \(val\) 的边分为 ...

  6. 使用多线程提高Rest服务性能

    ⒈使用Runnable异步处理Rest服务 /** *使用Runnable异步处理Rest服务 * @return */ @GetMapping("/order") public ...

  7. python3 xml模块

    一.简介 xml是实现不通语言或程序之间进行数据交换的协议,可扩展标记语言,标准通用标记语言的子集.是一种用于标记电子文件使其具有结构性的标记语言.xml格式如下,是通过<>节点来区别数据 ...

  8. Cannot open Eclipse Marketplace

    (1) window->preferences->General->Network Connections,Active Provider处勾选Manual (2)在eclipse. ...

  9. PostgreSQL安装和创建用户和创建数据库

    一.安装 可以参考postgresql官网安装教程:https://www.postgresql.org/download/linux/redhat/ Centos 6 安装postgresql 10 ...

  10. "贪吃蛇"-css3效果

    clip  :  http://www.w3school.com.cn/cssref/pr_pos_clip.asp 姜糖水  :  http://www.cnphp6.com/archives/60 ...