文章目录

  • 数列
    • solution
    • code
  • 秘密通道
    • solution
    • code
  • 小X游世界树
    • solution
    • code
  • 划分
    • solution
    • code

数列

a[1]=a[2]=a[3]=1 a[x]=a[x-3]+a[x-1] (x>3) 求 a 数列的第 n 项对 1000000007(10^9+7)取余的值。

输入格式
第一行一个整数 T,表示询问个数。 以下 T 行,每行一个正整数 n。

输出格式
每行输出一个非负整数表示答案。

样例
输入样例
3
6
8
10
输出样例
4
9
19
数据范围与提示
对于 30%的数据 n<=100; 对于 60%的数据 n<=2x107
对于 100%的数据 T<=100,n<=2x109

solution

一眼题,没得说

[a1,a2,a3]×[001100011]=[a2,a3,a4]\begin{bmatrix} a_1,a_2,a_3 \end{bmatrix}\times\begin{bmatrix} 0&0&1\\ 1&0&0\\ 0&1&1 \end{bmatrix}=\begin{bmatrix} a_2,a_3,a_4 \end{bmatrix}[a1​,a2​,a3​​]×⎣⎡​010​001​101​⎦⎤​=[a2​,a3​,a4​​]

code

#include <cstdio>
#include <cstring>
#define mod 1000000007
#define ll long long
struct Matrix {ll c[4][4];Matrix() {memset( c, 0, sizeof( c ) );}Matrix operator * ( const Matrix &p ) {Matrix ans;for( int i = 1;i <= 3;i ++ )for( int j = 1;j <= 3;j ++ )for( int k = 1;k <= 3;k ++ )ans.c[i][k] = ( ans.c[i][k] + c[i][j] * p.c[j][k] % mod ) % mod;return ans;}}base, v, result;
int T, n;Matrix qkpow( Matrix x, int y ) {Matrix res;res.c[1][1] = res.c[2][2] = res.c[3][3] = 1;while( y ) {if( y & 1 ) res = res * x;x = x * x;y >>= 1;}return res;
}int main() {freopen( "seq.in", "r", stdin );freopen( "seq.out", "w", stdout );base.c[1][1] = base.c[1][2] = base.c[1][3] = 1;v.c[1][3] = v.c[2][1] = v.c[3][2] = v.c[3][3] = 1;scanf( "%d", &T );while( T -- ) {scanf( "%d", &n );if( n <= 3 ) {printf( "1\n" );continue;}result = base * qkpow( v, n - 3 );printf( "%lld\n", result.c[1][3] );}return 0;
}

秘密通道

有一副n×mn\times mn×m的地图,有n×mn\times mn×m块地,每块是下列四种中的一种: 墙:用#表示,墙有 4 个面,分别是前面,后面,左面,右面。 起点:用 C 表示,为主角的起点,是一片空地。 终点:用 F 表示,为主角的目的地,是一片空地。 空地:用 . 表示。 其中除了墙不能穿过,其他地方都能走。 主角有以下 3 种操作:

移动到相邻的前后左右的地方,花费一个单位时间。
向前后左右其中一个方向发射子弹,子弹沿直线穿过,打在最近的一堵墙的一面,然 后墙的这面就会形成一个开口通往秘密通道。同一时间最多只能有两个开口,若出现有 3 个 开口,出现时间最早的开口会立即消失。该操作不用时间。
可以从一个与开口相邻的空地跳进去,进入秘密通道,从另外一个开口正对的空地跳 出来。这个过程花费一个单位时间。 地图四周都是墙,问主角最少用多少时间从 C 走到 F。C 和 F 只会出现一次。
输入格式
第一行输入两个正整数 n,m。 接下来 n 行,每行 m 个字符描述地图。

输出格式
输出 1 个整数,表示最短时间完成路途。如果无解输出 nemoguce

样例
输入样例1
4 4

#.F#
#C.#

输出样例1
2
输入样例2
6 8
########
#.##…F#
#C.##…#
#…#…#
#…##
########
输出样例2
4
数据范围与提示
对于 50%的数据,4 ≤

[2020-11-30 contest]数列(矩阵加速),秘密通道(dijkstra最短路)小X游世界树(换根dp),划分(数学)相关推荐

  1. 牛客挑战赛30 C 小G砍树 换根dp+组合

    链接:https://ac.nowcoder.com/acm/contest/18072/E 题目:给你一棵n个节点的带标号无根树.每次,你可以选择一个度数为1的节点并将它从树上移除.问总共有多少种不 ...

  2. 实验室每日一题 2020.11.30

    实验室每日一题 2020.11.30 先打开没有加密的文本文档,里面有一串密文,根据结尾的+推测应该是XXencode,直接找个在线网站解密,又得到一串密文:fwilvyhublqwhuhvwlqj, ...

  3. 《nature》2020.11.30期,重症COVID-19的主要遗传危险因素来自尼安德特人

    <nature>最新2020.11.30期快报! 1.重症COVID-19的主要遗传危险因素来自尼安德特人 严重COVID-19的风险是由一个遗传自尼安德特人的基因组片段引起的,南亚和欧洲 ...

  4. [ZJOI2011]细胞——斐波那契数列+矩阵加速+dp

    Description bzoj2323 Solution 题目看起来非常复杂. 本质不同的细胞这个条件显然太啰嗦, 是否有些可以挖掘的性质? 1.发现,只要第一次分裂不同,那么互相之间一定是不同的( ...

  5. latex 插入表格_【2020.11.30】IEEE trans英文latex写作心得和学习历程

    安装:texstudio+texlive(时间较长的是texlive,估计要1小时左右,建议安装的时候放在一边吃个饭回来就差不多) https://www.cnblogs.com/libbin/p/1 ...

  6. 【2020.11.30提高组模拟】剪辣椒(chilli)

    剪辣椒(chilli) 题目描述 在花园里劳累了一上午之后,你决定用自己种的干辣椒奖励自己. 你有n个辣椒,这些辣椒用n-1条绳子连接在一起,任意两个辣椒通过用若干个绳子相连,即形成一棵树. 你决定分 ...

  7. 【2020.11.4 洛谷团队赛 普及组】T1 U138644 小Biu的礼物

    题目描述 小BiuBiuBiu送给小PiunPiu nPiun 个礼物,每个礼物的体积为v[i],现在小Piu有m个箱子,每个箱子的体积为k ,去装这 些物品,小PiuPiuPiu会从左到右依次选择每 ...

  8. 2020牛客多校第一场B虚树+质数筛+换根dp

    题目大意: 1.可以发现阶乘增长是很快的所以你要把整颗树建立出来是不实际的. 2.我们可以假设这棵树已经建出来出来了我们应该怎么搞 首先很明显是一个树形dp, 我们设dp[j],是以j为u到其他点距离 ...

  9. QIIME 2教程. 30补充资源SupplementaryResources(2020.11)

    文章目录 补充资源 Supplementary resources 教学内容 Educational content 应用生物信息学导论 肠道检查:探索身体中的微生物群系 微生物生态学统计分析指南 译 ...

最新文章

  1. php xdebug 中文手册,php 安装xdebug扩展
  2. vc++栈的简单实现
  3. Cocos2D v2.0至v3.x简洁转换指南(一)
  4. ad20如何导入库_脱水防锈油如何使用才正确?
  5. 两款高大尚广告GO跳转页PHP源码
  6. 论HTML5 Audio 标签歌词同步的实现
  7. 【jenkins】jenkins+maven+gitlab+testng,jenkins配置
  8. 拖后腿了吗?工信部称8兆以上宽带占比44.4%
  9. JavaWeb02-HTML篇笔记(一)
  10. 四川省成都市谷歌高清卫星地图下载
  11. 计算机操作题如何打分,Excel操作题也能自动评分
  12. Landsat 8 地表反射率数据介绍—— Landsat 8 Surface Reflectance Tier 1
  13. 西门子触摸屏HTML控件,西门子HMI触摸屏操作手册.pdf
  14. 透视投影时相机的参数设置
  15. gcj编译java_GCJ编译java程序的头痛问题
  16. 设计原则(单一职能原则,开闭原则,里氏替换原则,依赖倒置原则,接口分离原则,迪米特原则)
  17. 5G通讯的认知与见解
  18. 前端--使用webstorm创建一个vue项目
  19. Python程序编译为动态库pyd或so (适用于Windows和Linux)
  20. iOS可复用控件之折线图

热门文章

  1. 【干货】通俗理解神经网络中激活函数作用
  2. 【汇总推荐】深度学习、自然语言处理干货笔记汇总
  3. jmeter xml 请求_Jmeter学习笔记(十六)——HTTP请求之content-type
  4. 代理管家app_亲亲小保社保管家app2021下载_亲亲小保社保管家app最新版下载
  5. 库卡机器人是s7编程_「西门子1200PLC教程」19.S7-1200入门实例
  6. 世道变了,面试初级Java开发会问到Arrays!!!你不会还不知道吧!
  7. mysql null值和空格_MySQL中NULL与空字符串空格问题
  8. puppeteer 鼠标定位滑块_监听滑块滑动或滑块随鼠标移动 | JShare
  9. 用linux命令通常做什么,如何知道你在 Linux 里最常使用的几个命令?
  10. python数据字符_python数据清洗系列之字符串处理详解