雷神之路

计算机与数学 —— 雷神之锤3源码中的快速逆平方根算法 这篇博客介绍了在雷神之锤3源代码中快速求逆平方根的算法。 阅读详情

A 雷神之路

题意

在一个坐标轴上面起始位置是0,你可以往右走一步,两步,三步。其中某些位置不能走,问你走到位置n有多少种方法(1<= n <= 1e18)

分析
  • 这题是走楼梯的进阶版,状态很好想dp[n],转移有三种:走一步两步三步转移过来。不过由于n太大,很容易想到矩阵加速。
  • 用矩阵A表示第i个可走,矩阵B表示第i个不可走。有些地方x不能走,那么我只要用矩阵加速求出第x-1个矩阵C,那么第x个矩阵就是C*B,最后得出第n个矩阵
思考
  • dp[n] = dp[n-1] + dp[n-2] + dp[n-3] (n>=3)所以我们第一个矩阵是从2开始的,小于2的方案要手动打出来
/*************************************************************************
    > File Name: a.cpp
    > Author: liangxianfeng
    > Mail:   641587852@qq.com
    > Created Time: 2016年05月13日 星期五 18时57分55秒
 ************************************************************************/

#include <iostream>
#include <cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<stack>
#include<map>
#include<set>
#include<vector>
#include<queue>
#include<string>
#include<cmath>
using namespace std;
#define ll long long
#define rep(i,n) for(int i =0; i < n; ++i)
#define CLR(x) memset(x,0,sizeof x)
#define MEM(a,b) memset(a,b,sizeof a)
#define pr(x) cout << #x << " = " << x << " ";
#define prln(x) cout << #x << " = " << x <<  endl; 
const int maxn = 4e5+100;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9+7;
struct Rec{
    ll num[3][3];
    Rec(){
        for(int i = 0; i < 3; ++i){
            for(int j = 0; j < 3; ++j){
                if(i==j) num[i][j] = 1;
                else num[i][j] = 0;
            }
        }
    }
    Rec(int x){
        for(int i = 0; i < 3; ++i){
            for(int j = 0; j < 3; ++j){
                num[i][j] = x;
            }
        }
    }
    Rec operator * (const Rec& rhs)const{
        Rec ans(0);
        for(int i = 0; i < 3; ++i){
            for(int j = 0; j < 3; ++j){
                for(int k = 0; k < 3; ++k){
                    ans.num[i][j] += num[i][k]*rhs.num[k][j]; 
                }
                ans.num[i][j] %= MOD;
            }
        }
        return ans;
    }
}init;
Rec ret(const Rec &x, ll y){
    Rec ans, base = x;
    while(y){
        if(y&1) ans = ans*base;
        y>>=1;
        base = base*base;
    }
    return ans;
}
bool vis[10];
ll x[600];
int main(){
#ifdef LOCAL
    freopen("/home/zeroxf/桌面/in.txt","r",stdin);
    //freopen("/home/zeroxf/桌面/out.txt","w",stdout);
#endif
    int t;
    scanf("%d", &t);
    while(t--){
        int  m;
        ll n;
        scanf("%lld%d", &n, &m);
        memset(x, 0, sizeof x);
        memset(vis, 0, sizeof vis);
        for(int i = 1; i <= m; ++i) scanf("%lld", &x[i]);
        sort(x+1, x+m+1);
        if(x[1] < 3) vis[x[1]] = true;
        if(x[2] < 3) vis[x[2]] = true;
        ll ans1, ans2;
        if(vis[1]) ans1 = 0;
        else ans1 = 1;
        if(vis[2]) ans2 = 0;
        else ans2 = ans1 + 1;
        if(n <= 2) {
            if(n==1) printf("%lld\n", ans1);
            else printf("%lld\n", ans2);
            continue;
        }
        Rec a(1);
        Rec b(0);
        a.num[0][2] = 0;
        a.num[1][1] = 0;
        a.num[2][1] = 0;
        a.num[2][2] = 0;
        b.num[0][1] = 1;
        b.num[1][2] = 1;
        Rec ans;
        ll last = 2;
        for(int i = 1; i <= m; ++i){
            if(x[i] <= 2) continue;
            ans = ans*ret(a,x[i]-last-1);
            ans = ans*b;
            last = x[i];
        }
        ans = ans*ret(a,n-last);
        ll c = ans2*ans.num[0][0] + ans1*ans.num[1][0] + ans.num[2][0];
        c = c%MOD;
        printf("%lld\n", c);
    }
    return 0;
}
雷神V16雷达+LEGO-LOAM实车建图全攻略 | 从驱动配置到建图优化 PS:前期需要修改计算机固定IP为192.168.1.102,修改后如果能ping通,则证明能接收到激光雷达信号。horizontal_angle_resolution: 0.18 # 10Hz模式。:雷神V16激光雷达、IMU(可选)、工控机(Ubuntu 20.04/22.04)frame_id: "velodyne" # 必须与算法一致!scan_num: 16 # V16线数。# 添加静态TF(base_link → velodyne) 阅读详情

相关推荐

Stata极简生存分析

1. 导入数据 webuse drugtr,clear *webuse -- Use dataset from Stata website stset,clear *上一行命令导入进来的数据是“生存时间数据”,会比最原始的数据多四列,这一行命令的目的是重置为原始数据,之所以这样做,是为了显示数据处理的全部过程 codebook drug codebook studytime codebook died codebook age *codebook -- Describe data contents 2.

TOP生物信息 2336

雷神优快云文章列表

爬了一下。方便大家查阅。感谢雷神。 原 视频编码器评测系统:VideoCodecRank 原 我的开源视音频项目汇总 原 开源实时视频码流分析软件:VideoEye 原 [总结]视音频编解码技术零基础学习方法 原 [总结]视频质量评价技术零基础学习方法 原 [总结]RTMP流媒体技术零基础学习方法 原 [总结]FFMPEG视音频编解码零基础学习方法 转 [投稿] Speex回声消除原理深度解...

爱自在的专栏 2628

一文搞懂雷达脉冲压缩和匹配滤波器

为了解决传统单频脉冲雷达面临的作用距离和空间分辨力之间的矛盾,脉冲压缩理论被提出。在接收端设计一个和发射信号能够“共轭匹配”的网络来实现脉冲压缩。接收到的回波信号通过匹配滤波器时,滤波器的增益在信号越强的频率点越大;在信号越弱的频率点,增益越小,通过这样的方式使信号在时域更加集中。脉冲压缩技术大致可分为线性调频(LFM)和相位编码。其中LFM信号易于通过硬件或各种技术产生,但是进行匹配滤波后主旁瓣比高达13.2dB,在检测多个目标时,强目标的回波旁瓣可能会把弱小信号覆盖,导致弱小信号的检测受到影响。

FPGA入门到跑路 9935

矩阵快速幂+map 雷神之路 scu dp练习A题

传送门:点击打开链接 题意:刚开始在位置0,只允许向右走,可以走1步,2步或3步,路上有地雷,不能踩(m 思路:很明显要用矩阵快速幂来加速计算dp。 我们假如知道了位置pos[i]有一个雷,那么我们就要算出dp[pos[i]-1]和dp[pos[i]-2]的值,并让dp[pos[i]]=0 对于下一个雷,我们就直接从这里开始用矩阵快速幂算到下一个雷的位置。 因为里面的情况比较多,我们可

qwb的博客 593

保姆级教程:用Ansys Workbench找出BGA焊点最容易坏的位置(附热循环+振动分析)

本文提供了一份详细的Ansys Workbench教程,指导如何通过热循环和振动分析找出BGA焊点最容易失效的位置。从模型搭建、材料定义到网格划分和载荷设置,全面解析了BGA焊点可靠性分析的全流程,帮助工程师提前预防焊点开裂问题,提升电子封装设计的可靠性。

weixin_30983965的博客 418

一文讲透什么是ADC/DAC中的DDC、DUC、采样率以及数据率等概念

摘要:ADC/DAC中的采样率与数据率概念不同,采样率是转换器的时钟速率,而数据率是数字输出的实际速率。抽取通过滤波降低数据速率,提升信噪比但牺牲带宽;内插则通过插零和滤波提高采样率,将镜像信号移远但增加延迟和功耗。JESD204B标准的高速转换器需平衡通道数与串行速率,内插/抽取技术是关键。文章还解析了DDC、DUC的应用及优缺点,为高速数据转换设计提供参考。(150字)

weixin_49761275的博客 4264

永远感谢雷神-雷霄骅!

致雷神! 一路走好, 天堂好好休息! 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 姓名:雷霄骅 网名:leixiaohua1020 本科:中国传媒大学-广播电视工程 硕士:中国传媒大学-数字电视技术 博士:中国传媒大学-数字视频技术 Email:leixiaohua1020@126.com QQ:4

路楷的专栏 8426

Ceres Solver:从入门到使用

Ceres Solver是谷歌开源的C++非线性优化库,能够解决有约束或无约束条件下的非线性最小二乘问题。2010年之后大量的运用在谷歌的产品开发中,尤其在谷歌开源的cartographer中被大量的使用。 ceres可以在Linux,Windows,macOS,Andrioid,IOS系统进行安装使用,详情可查看下方的官网链接。 Ceres Solver 官网:http://ceres-solver.org/

非晚非晚的博客 1万+

漫威《雷神》系列电影赏析

雷神系列探讨了一些古老的、神秘的力量和元素,如雷神的锤子“莫尔尼尔”以及黑暗精灵的力量。在《诸神黄昏》中,雷神发现他的家园阿斯加德即将面临诸神黄昏的威胁,同时他被囚禁在一个异世界的角斗场,迫使他与昔日的盟友绿巨人浩克(由马克·鲁法洛饰演)联手以拯救阿斯加德。雷神系列电影在漫威电影宇宙中起到了重要的串联节点作用,为整个宇宙的故事线和角色发展做出了贡献。影片中涉及的一些神秘力量和元素与雷神的故事有关,为电影中的一些情节提供了背景和解释。影片在深化雷神和洛基之间的关系的同时,对主要角色进行了进一步的发展。

JustinMars的博客 2731

别再死记硬背公式了!用Multisim仿真软件,5分钟搞懂三极管放大电路的工作原理

本文介绍如何利用Multisim仿真软件快速掌握三极管放大电路的工作原理,避免死记硬背公式。通过动态实验和参数调整,直观理解三极管的工作状态和放大效果,提升学习效率和实践能力。

weixin_30566063的博客 568

YOLOv11 改进 - 特征融合 | 替换 C3k2 涨点:GELAN 融合 CSP+ELAN 提精度

本文介绍了可编程梯度信息(PGI)和广义高效层聚合网络(GELAN)与 YOLOv11 的结合,以解决深度网络数据传输时的信息丢失问题。PGI 能为目标任务提供完整输入信息,计算目标函数以更新网络权重。GELAN 作为轻量级网络架构,由 SPPELAN、ELAN1、RepNCSPELAN4 等模块组成。我们将 GELAN 代码集成进 YOLOv11, 实验脚本显示,结合 GELAN 的 YOLOv11 在 MS COCO 数据集目标检测任务中或有良好表现。

魔改工程师的博客 1242

雷神1

《雷神1》 观影所感 概述 时间:2019-05-03 20:00 地点:宿舍 电影:在线 人物 劳非:冷霜巨人首领 奥森: 身份:永恒之境·阿斯加德国王 主张:英明的国王不会主动挑起战争 托尔·奥丁森:雷神,奥森长子 洛基:劳非之子,奥森打败劳非后将其带回收养,作为奥森的次子 简:天文学考察队成员,托尔被贬人间时遇到的恋人 故事 故事背景 面对冷霜巨人劳非率众入侵,阿斯加德...

走在命运的左岸 1911

【推荐100个unity插件】实现逼真的雪与雨系统——Weatherade: Snow and Rain System

Weatherade是一款Unity雪天/雨天场景创建系统,支持内置RP和URP渲染管线,提供雪/雨覆盖着色器、地形支持、雪痕效果等特性。安装后需配置URP渲染器,通过添加覆盖实例和转换材质实现效果,支持手动调整或批量转换工具快速应用。系统包含完整演示场景,可通过官方文档了解更多配置细节。下载地址:Unity Asset Store或百度网盘学习版。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1221

【雷神专栏整理】-- ffmpeg

目录前言目录第一章 概论1.1 如何学习1.2 helloworld1.3 ffplay使用1.4 ffmpeg使用1.5 通用函数第二章 结构体第三章 编解码3.1 编码3.2 解码3.3 H2643.3.1编码3.3.2 解码3.4 HEVC(H265)3.4.1 解码第四章 封装与解封装(复用与解复用)第五章 实战5.1 推流5.2 视频播放器5.3 音频播放器5.4 移动端:Android & IOS5.5 内存读写5.6 编码5.7 格式转换5.8 视频网站5.9 VC工程5.10跨平台5

hh5233的博客 6691

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

雷神2

《雷神2·黑暗世界》 观影所感 概述 时间:2019-05-12 20:00 地点:宿舍 影片:在线 故事 人物 奥丁: 身份:阿斯加德国王 托尔·奥丁森 身份:雷神,奥丁之子 洛基: 身份: 奥丁养子,托尔的弟弟 冷霜巨人之子,奥丁打败冷霜巨人后见其可怜而收养 性格:崇拜权利,一心相当国王,想方设法陷害托尔 武器:匕首、擅长巫术,为其养母所授 简·福斯特: ...

走在命运的左岸 567

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

雷神开机logo更改_高颜值低延迟:雷神TWS真无线游戏耳机HL10 试用体验

也就是这两三年时间,TWS无线耳机迅速成为人们的数码标配。原因显而易见,便携易用续航长,音效也还说得过去,如今出门在外,路人十之八九耳朵里都会塞上一对儿。但市面主流TWS无线耳机的不足同样存在,外观上,配色相对单一个性化不足;技术上,偏高的延迟度很难让爱玩儿游戏的用户满意,毕竟玩游戏需要更精准同步的音效方能占得先机。知名电竞品牌雷神最新推出的TWS真无线游戏耳机HL10(后文简称“雷神HL10”)...

weixin_34856548的博客 778

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

电影:雷神

作为北欧诸神之王奥丁的儿子,托尔很快就会从年迈的父亲那里继承阿斯加德的王位。然而,在他即将加冕的那天,当众神的敌人冰霜巨人违反他们的条约进入宫殿时,托尔做出了残酷的反应。作为惩罚,奥丁将雷神驱逐到地球。当托尔的兄弟洛基在阿斯加德策划恶作剧时,现在被剥夺了权力的托尔面临着他最大的威胁。......

m0_61149488的博客 1442

雷神台式计算机排行,雷神台式机评测

雷神911黑武士III台式机评测前言雷神这次新推出的黑武士III主机(下文简称雷神黑武士),是酷睿i7-10700K+iGame RTX2060的一套游戏电脑,它的存储配置是512GB+2TB,可以在满足绝大多数玩家的使用需求,又能提供充分的生产力。那这一台配备有最新款10代酷睿的电脑,具体使用起来如何呢?10代i7性能在这台电脑上面发挥的又是怎么样?我在这一篇中将会进行说明。注:因为系统,平台,...

weixin_29378153的博客 667

雷神3·诸神黄昏

雷神3·诸神黄昏 人物 索尔·奥丁森 身份:雷神,众神之父奥丁长子 洛基 身份:邪神,众神之父奥丁养子 海拉 身份:死亡女神,众神之父奥丁长女 瓦尔基里 身份:女武神,守卫众神之父 浩克 身份:绿巨人 剧情 海拉复活 索尔奉命讨伐火焰巨人,在杀死火焰巨人之前从其口中得知诸神黄昏的事情并且不可避免,阿斯加德会毁在火焰巨人之手 洛基假死骗过所有人并趁众神之父奥...

走在命运的左岸 689

雷神台式计算机配置,雷神电脑BIOS设置教程

BIOS这个字眼是在1975年第一次由CP/M操作系统中出现.BIOS是个人电脑启动时加载的第一个软件。在开机画面刚出现的时候就要马上按F12从而进入启动项选择窗口!相关阅读:BIOS基本介绍首先得了解自己的雷神笔记本是什么型号,从而确定该按哪个快捷键,就比如型号为911的热键是:F12BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输...

weixin_28716443的博客 5184

雷神台式计算机型号,【雷神台式机】雷神911黑武士III台式机评测,雷神台式机装机教程_什么值得买...

前言雷神这次新推出的黑武士III主机(下文简称雷神黑武士),是酷睿i7-10700K+iGame RTX2060的一套游戏电脑,它的存储配置是512GB+2TB,可以在满足绝大多数玩家的使用需求,又能提供充分的生产力。那这一台配备有最新款10代酷睿的电脑,具体使用起来如何呢?10代i7性能在这台电脑上面发挥的又是怎么样?我在这一篇中将会进行说明。注:因为系统,平台,软件版本的不同,数据可能会有少量...

weixin_32933155的博客 1437

从3万条豆瓣短评看《雷神3》

哈喽大家好,为了北方神的荣耀,我是雷神托尔!! 没错,这次的雷神3又轰轰烈烈地回来啦,开开心心地奉上一张真诚的车票。 回归正题,新片上映大家的反响还是非常热烈的,这里就单从广大的豆瓣盆友的数据反馈进行一些个人浅析。截至11月14日为止,豆瓣已经有4w+的短评,用python爬下来筛选之后还剩下3w+。 主要爬取了:用户名,是否看过,评论的支持人数,给出的星级,评论时间以及具体评论

想不到名字 767

雷神开机logo更改_雷神911 Pro钛空版评测:坐拥雷神之力 兼具911之速

小编在上大学期间,就曾考虑过购买第一代雷神911,但那时由于并没有掌握财政大权,所以被母上大人以外形太过张狂为由,直接Pass掉了这一选择,但想要拥有一台外观酷炫,性能强劲的游戏本的这个愿望,一直在脑海中生根发芽。步入社会后由于工作带来的限制,不得不购买一台长续航的轻薄本,好在近日收到雷神911Pro钛空版,也算是圆了我一个游戏本的梦。雷神911Pro钛空版外观“飒”就够了游戏本与其他笔记本在外观...

weixin_39533280的博客 516

cometoj——C1970 雷神的饭量

题目描述 手刃仇敌后,雷神索尔每日不思进取,饭量激增,他的饭量已经达到了不可想象的地步。索尔每天都要吃n顿饭,但是他有一个怪癖就是吃饭前会算一下自己该吃多少饭。(吃个饭也要这么讲究,不愧是雷神啊!) 他是这样说的,我吃饭前需要翻开自己的笔记,我需要知道我前两次吃过的饭量,因为这次的饭量应该是前两次的饭量的公倍数,但是我怕我怕太胖,我又不能吃的特别多,所以我只吃前两次饭量的最小公倍数饭量就好。然后我继续记录下来,以便下次吃饭的时候查看。 可惜粗心的索尔还是在一次吃饭中忘记带自己的笔记本了,但是他清楚的记得自己

weixin_43824233的博客 194

怎么给雷神笔记本安装系统?

然后重启电脑,在进入主板logo界面时,在键盘中按相应的U盘启动快捷键,选择自己的U盘启动。3、进入PE系统后,会自动打开一键重装工具,选择下载好的Win10系统Ghost文件或Win10系统ISO镜像。6、U盘制作完毕后,工具会进行提示,并且显示当前电脑的开机U盘启动快捷键。8、重启后,将会自动进入系统安装界面,等待系统自动安装完毕,即可进入系统。2、进入工具后,在最上方选择U盘启动,进入U盘启动盘制作界面。7、备份完成后,系统将会提示用户进行重启,并且拔掉U盘。4、之后选择系统安装的分区,点击下一步。

xitongzhijianet的博客 4101

国货崛起,科技潮流——雷神星驰轮胎

随着现代社会的高速发展,人们的消费水平日益提高,多数人的目标从“吃饱穿暖”逐渐上升到了更高的标准。车作为普遍的交通工具,成为了越来越多人的刚需。 今天我们要说的是这个被许多人忽略的零部件-轮胎。轮胎对于汽车来说,就相当于一双“鞋子”,好的鞋子可以让汽车走得更远。根据业内人士介绍,我们今天一起来看一下新锐科技感静音轮胎——雷神星驰。 行车体验 有过驾驶汽车经历的人都知道,汽车行驶过程中在道路上会产生噪音,这种声音对于长期处于行驶状态的人来说是非常难受的。对于高端车型来说,使用雷神星驰这类静音轮胎

jikegongyuan的博客 2105
上一篇: 奶牛硬盘
下一篇: Parentheses Sequence微软编程笔试
Vanguard-xf
博客等级 码龄12年 40粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值