如果单点而不是求 sigma 的话还是比较好办的.

遇到这种前缀和相减的矩阵乘法可以增设一个 0 使得后面的能先加到前面,然后再算.

这样的话可以使的最后算出的是前缀和相加的形式.

code:

#include <bits/stdc++.h>
#define ll long long
#define mod 1000000007
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
struct data
{ll v[9][9];    data() { memset(v,0,sizeof(v));}   ll *operator[](int a) { return v[a]; }   data operator*(data &a) {data ans;   int i,j,k; for(i=0;i<=8;++i) for(j=0;j<=8;++j) for(k=0;k<=8;++k) ans[i][j]=(ans[i][j]+v[i][k]*a[k][j]%mod)%mod;   return ans;    }
}A,T;
data pow(data x,int y)
{data ans; int i;  for(i=0;i<=8;++i) ans[i][i]=1;   while(y) {if(y&1) ans=ans*x;  x=x*x; y>>=1; } return ans;
}
void init()
{for(int i=0;i<=8;++i) A[i][0]=1;   A[1][5]=A[1][7]=1; A[2][5]=A[2][7]=1;   A[3][6]=A[3][8]=1; A[4][6]=A[4][8]=1;    A[5][1]=A[5][3]=1; A[6][1]=A[6][3]=1;    A[7][2]=A[8][4]=1;
}
ll calc(int x)
{if(!x) return 0;   data tmp=pow(A,x-1);    ll ans=tmp[0][0]*4;    for(int i=1;i<=8;++i) ans+=tmp[i][0];   return ans%mod;
}
int main()
{  // setIO("input");  int i,j,l,r; scanf("%d%d",&l,&r),--l;  init(); printf("%lld\n",((calc(r) + calc((r+1)/2) - calc(l) - calc((l+1)/2)) * 500000004 % mod + mod)%mod);        return 0;
}

  

BZOJ 5082: 弗拉格 矩阵乘法相关推荐

  1. 【bzoj5082】弗拉格 矩阵乘法

    题目描述 给你n个flag,你要把每个染色成红黑白黄四色之一,满足: 1.相邻旗不能同色 2.白不能和黄相邻,红不能和黑相邻 3.不能存在连续三个球依次是"黑白红"或"红 ...

  2. bzoj5082 弗拉格 矩阵乘法

    Description "如果明天进了面试,我就去爆妹子的照"--有妹子的丁相允作为一个oier,自然不能立太多flag,让我们来看 一道和flag有关的题目吧 给你n个flag, ...

  3. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

  4. BZOJ 3329 Xorequ (数位DP、矩阵乘法)

    BZOJ 3329 Xorequ (数位DP.矩阵乘法) 手动博客搬家: 本文发表于20181105 23:18:54, 原地址https://blog.csdn.net/suncongbo/arti ...

  5. BZOJ 1444 [JSOI2009]有趣的游戏 (AC自动机、概率与期望DP、矩阵乘法)

    诶这题洛谷居然没有??? 题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1444 题解: 我见到主要有两种做法. 一是矩阵乘法.设\(d ...

  6. 【BZOJ 3326】[Scoi2013]数数 数位dp+矩阵乘法优化

    挺好的数位dp-- 先说一下我个人的做法: 经过观察,发现这题按照以往的思路从后往前递增,不怎么好推,然后我就大胆猜想,从前往后推,发现很好推啊,维护四个变量,从开始位置到现在有了i个数 f[i]:所 ...

  7. BZOJ 2738: 矩阵乘法 [整体二分]

    给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数. 愚蠢的名字...... 整体二分,影响因子就是矩阵里的数 把$\le mid$的矩阵元素加到二维树状数组里然后询问分成两组就行 ...

  8. BZOJ 4180: 字符串计数 后缀自动机 + 矩阵乘法 + 二分(神题)

    Description SD有一名神犇叫做Oxer,他觉得字符串的题目都太水了,于是便出了一道题来虐蒟蒻yts1999. 他给出了一个字符串T,字符串T中有且仅有4种字符 'A', 'B', 'C', ...

  9. [BZOJ]4180: 字符串计数 SAM+矩阵乘法+二分

    Description SD有一名神犇叫做Oxer,他觉得字符串的题目都太水了,于是便出了一道题来虐蒟蒻yts1999. 他给出了一个字符串T,字符串T中有且仅有4种字符 'A', 'B', 'C', ...

最新文章

  1. 什么?你还在使用fastjson,性能太差了
  2. alpine linux 执行文件崩溃 报错 找不到/lib/x86_64-linux-gnu/libc.so 解决方法
  3. MySQL 安装包下载教程
  4. 如何判断2服务器性能好或坏_无服务器革命:好,坏和丑
  5. 添加中文数据出现问号_怪物猎人世界绚辉龙和冥赤龙的出现时间规律一览
  6. FFmpeg之wav转mp3(二十四)
  7. Python源码保护
  8. 在谷歌浏览器上播放rtmp视频的坑
  9. ENVI监督分类后背景值也被分成一种地物,解决方案和转移矩阵制作方法
  10. 星际争霸、魔兽争霸3、红色警戒之完全对比
  11. html 九宫格头像,JAVA-仿微信九宫格头像
  12. 机器学习--机器学习基础
  13. think-queue
  14. 仿抖音点赞效果实现 ——————自定义View
  15. 外星人入侵游戏源码及讲解(一)
  16. C4D无法修改参数?所有参数都是灰色无法修改?
  17. 电商外包行业调查:千家企业争夺千亿蛋糕
  18. 一款基于安卓的法语电影字幕听写软件的原型
  19. Shuffle机制的详细介绍
  20. 金山卫士开源---kclear 卫士垃圾清理

热门文章

  1. SAS9.1.3中文全功能版下载
  2. ChatGPT的api接口接入小程序
  3. 分享一套我现在在使用Autohotkey的脚本
  4. 企业核心竞争力和领先优势
  5. 矩阵乘法和逆矩阵-线性代数课时3(MIT Linear Algebra , Gilbert Strang)
  6. 内控王助力工控企业“国产化替代”
  7. QT学习总结之QObject详解
  8. acad.lsp病毒彻底解决办法
  9. 关于在网页里调整倍速的小技巧
  10. 输血一受血规则的4输入1输出数据选择器电路