原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2604

  矩阵乘法,得到递推公式,构造系数矩阵,然后进行快速幂。

  

View Code

 1 #include <stdio.h>
 2 #include <string.h>
 3
 4 int L, M;
 5
 6 struct mat
 7 {
 8     int m[4][4];
 9     mat()
10     {memset(m, 0, sizeof m);}
11
12     void init()
13     {
14         memset(m, 0, sizeof m);
15         m[0][0] = m[0][2] = m[0][3] = m[1][0] = m[2][1] = m[3][2] = 1;
16     }
17
18     void unit()
19     {
20         for(int i = 0; i < 4; i ++)
21         for(int j = 0; j < 4; j ++)
22             m[i][j] = (i == j);
23     }
24 }A, B;
25
26
27 int F4[5] = {0, 2, 4, 6, 9};
28
29 mat operator *(mat a, mat b)
30 {
31     mat c;
32     for(int i = 0; i < 4; i ++)
33     for(int j = 0; j < 4; j ++)
34     for(int k = 0; k < 4; k ++)
35         c.m[i][j] = (c.m[i][j] + a.m[i][k] * b.m[k][j]) % M;
36
37     return c;
38 }
39
40
41 int main()
42 {
43     while(scanf("%d%d", &L, &M) == 2)
44     {
45         if(L <= 4)
46         {
47             printf("%d\n", F4[L] % M);
48             continue;
49         }
50         A.init(); B.unit();
51         for(L -= 4; L; L >>= 1, A = A * A)
52             if(L & 1) B = B * A;
53         int ans = 0;
54         for(int i = 0; i < 4; i ++)
55             ans += B.m[0][i] * F4[4-i];
56         printf("%d\n", ans % M);
57     }
58     return 0;
59 }

转载于:https://www.cnblogs.com/huangfeihome/archive/2012/12/28/2837795.html

HDU2604 Queuing相关推荐

  1. 【整理】有待完成的题目

    mobius反演 bzoj2154Crash的数字表格 bzoj2693jzptab bzoj2440[中山市选2011]完全平方数 bzoj3994[SDOI2015]约数个数和 bzoj3930[ ...

  2. Queuing HDU2604

    一道递推题目 得到递推关系为  f[n]=f[n-1]+f[n-3]+f[n-4]; 用普通的枚举算法会超时 所以要用矩阵快速幂来加速 转化为矩阵即为: + 1 0 1 1       F(N-1) ...

  3. HDU 2604 Queuing

     HDU2604: 本鶸第二道矩阵快速幂. 题意:  n个人排队,f表示女,m表示男,包含子串fmf和fff为O队列,否则为E队列,求有多少个序列为E队列. 由于只求个数,按经验xjb找一下递推公 ...

  4. MQ--1( Message queuing)RabbitMQ

    MQ( Message queuing) 消息队列作为高并发系统的核心组件之一,能够帮助业务系统结构提升开发效率和系统稳定性,消息队列主要具有以下特点: 削峰填谷(主要解决瞬时写压力大于应用服务能力导 ...

  5. Queuing(矩阵快速幂)

    Queuing Queues and Priority Queues are data structures which are known to most computer scientists. ...

  6. 排队时延(Queuing delay)

    网络时延的构成 Network delay including four parts: Processing delay - time routers take to process the pack ...

  7. 排队论 (queuing theory)推论与举例

    目录 1.排队模型的表示 2.排队系统的衡量指标 3.排队系统的要素 顾客的输入过程 排队结构与排队规则 服务机构与服务规则 其中,到达间隔和服务时间(X,Y)具有的典型分布有 4.模型的系统运行状态 ...

  8. IEEE 802.1Qav( 802.1Q clause34) Forwarding and queuing for time-sensitive streams

    34.1 Overview 本章描述了一组可以用于支持对time-sensitive streams 的转发(forwarding)和排队(queuing)要求.在本章,"time-sens ...

  9. BBR 与 queuing

    BBR 为何无法兑现 no queuing 的承诺? 首先明确一个事实: 很多条不同算法的流混部在现代高带宽异构网络上,单流行为几乎改变不了多流复用带宽的统计特征. BBR 突然采集到的小 bandw ...

最新文章

  1. QString与string的相互转换
  2. UVA1388 Graveyard(思维、数学推理)
  3. ContentProviderOperation批量操作提升性能
  4. cocos2d基础介绍
  5. AutoCAD 2021 macOS Big Sur 11版 注册机无法打开?注册机怎么使用?
  6. 数学建模之图论——图与网络模型(二)(最小生成树问题、最大流问题)
  7. c ++创建二维数组_C ++中的二维数组
  8. 【车道线检测与寻迹】4月17 【多方内容总结】大模块:车辆检测,车道线检测,车辆压线判别
  9. Ubuntu 16.04下安装VMware Tools
  10. 2018大华软件大赛模拟赛第2题 (网络上有一台流媒体服务器S和一台客户端C,S向C发送流媒体数据。)...
  11. 互联网面试六大常见问题及应对技巧,2021不再入坑!
  12. matlab中muw,matlab – 获取属于凸包的点
  13. epoch和episode
  14. 新书上市|豆瓣8.6,首部全面披露中国游戏发展史的奇书!
  15. 微淼商学院php面试_微淼商学院校友故事:培养财商,生活会越过越好
  16. booting过程介绍
  17. 使用 Taro 快速开发京东小程序
  18. sql server 修改列属性为非必填项
  19. Mendix公司最新调查结果显示:低代码已从企业机构应急技术进阶为核心技术
  20. 计算机毕业设计ssm气象百事通系统wr8nn系统+程序+源码+lw+远程部署

热门文章

  1. 好文推荐 | MySQL binlog应用场景与原理深度剖析
  2. 在 Spring Boot 中使用 Spring AOP 和 AspectJ 来测量方法的执行时间
  3. docker化你的java应用(下)
  4. 蜂鸣器接入_无源蜂鸣器的原理和和mixly结合制作电子琴
  5. java长宽_Java:如何控制JPanel长宽比?
  6. ecg 幅度_ECG信号中一些运动伪差的讨论
  7. 2025年全球结构化布线市场预计将达到165亿美元
  8. 全城瘫痪!因韩国电信公司大火 首尔陷断网危机
  9. 中美数据中心产业对比及思考
  10. python可变参数的特点_可变参数**kwargs传入函数时的存储方式为( )_学小易找答案...