HDU6030(矩阵快速幂)

【护网行动-红蓝攻防】第一章-红蓝对抗基础 认识红蓝紫 军事上的演练,是除了实战以外最能检验军队战斗力的一种考核方式,他可以模拟面对外部势力的攻击时候,如何更好的去维护国家和主权的安全。同样的,在网络上面,真实环境下的网络攻防演练也是检验一个单位,企业网络防御能力,发现潜在危险最好的方法。1.政策要求2安全威胁驱动当前,我国关键信息基础设施面临的网络安全形势严峻复杂,网站平台大规模数据泄露事件频发,生产业务系统安全隐患突出,甚至有的系统长期被控面对高级持续性的网络攻击,防护能力十分欠缺。目前,我国面临的网络安全威胁主要有以下几点。 阅读详情

Happy Necklace

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 274 Accepted Submission(s): 111

Problem Description
Little Q wants to buy a necklace for his girlfriend. Necklaces are single strings composed of multiple red and blue beads.
Little Q desperately wants to impress his girlfriend, he knows that she will like the necklace only if for every prime length continuous subsequence in the necklace, the number of red beads is not less than the number of blue beads.
Now Little Q wants to buy a necklace with exactly n beads. He wants to know the number of different necklaces that can make his girlfriend happy. Please write a program to help Little Q. Since the answer may be very large, please print the answer modulo 109+7.
Note: The necklace is a single string, {not a circle}.

Input
The first line of the input contains an integer T(1≤T≤10000), denoting the number of test cases.
For each test case, there is a single line containing an integer n(2≤n≤1018), denoting the number of beads on the necklace.

Output
For each test case, print a single line containing a single integer, denoting the answer modulo 109+7.

Sample Input
2
2
3

Sample Output
3
4

解题思路:我们可以得出递推式f[i] = f[i - 1] + f[i - 3],直接快速幂就行。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod = 1e9 + 7;
ll n;
struct Matrix{
    ll v[3][3];
};
Matrix Matrix_mul(Matrix m1,Matrix m2)
{
    Matrix ans;
    for(int i = 0; i <= 2; i++)
    {
        for(int j = 0; j <= 2; j++)
        {
            ans.v[i][j] = 0;
            for(int k = 0; k <= 2; k++)
            {
                ans.v[i][j] += (m1.v[i][k]*m2.v[k][j])%mod;\
                ans.v[i][j] %= mod;
            }
        }
    }
    return ans;
}
Matrix Matrix_pow(ll i,Matrix x)
{
    Matrix ans = {1,0,0,0,1,0,0,0,1};
    while(i)
    {
        if(i&1) ans = Matrix_mul(x,ans);
        i >>= 1;
        x = Matrix_mul(x,x);
    }
    return ans;
}
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%lld",&n);
        if(n == 2)
        {
            printf("3\n");
            continue;
        }
        if(n == 3)
        {
            printf("4\n");
            continue;
        }
        if(n == 4)
        {
            printf("6\n");
            continue;
        }
        Matrix term1 = {6,0,0,4,0,0,3,0,0};
        Matrix term2 = {1,0,1,1,0,0,0,1,0};
        ll d = n - 4;
        term2 = Matrix_pow(d,term2);
        term1 = Matrix_mul(term2,term1);
        printf("%lld\n",term1.v[0][0]);
    }
    return 0;
}
9篇9章1节:认识 SHARE 数据库 SHARE数据库是欧洲最大的跨国老龄化追踪调查项目,覆盖28个欧洲国家和以色列的50岁及以上人群。自2004年启动以来,已完成14-16万受访者的50-60万次访谈,形成跨度20年的纵向数据。该数据库采用标准化的多阶段抽样方法,收集健康、经济和社会关系等领域的多维度信息,具有高度的跨国可比性。SHARE与美国HRS、英国ELSA等调查对接,构成全球老龄化研究网络。数据免费向科研人员开放,但需注册并承诺仅用于非商业性研究。该项目由欧盟委员会等多方资助,为老龄化研究和政策制定提供了重要实证依据。 阅读详情

相关推荐

基于STM32的馆藏文物保存环境监测系统设计与实现

针对馆藏文物保存环境中温湿度、光照、有害气体等参数波动易导致文物损坏的问题,本文设计了一种基于STM32微控制器的馆藏文物保存环境监测系统。该系统以STM32L431RCT6为核心,集成高精度传感器实现多参数实时采集,通过有线与无线结合的通信方式构建监测网络,具备数据存储、异常预警、远程监控等功能。测试结果表明,系统温湿度测量精度分别达±0.2℃、±2%RH,光照与有害气体检测误差≤5%,可满足文物保存环境的高精度监测需求,为文物保护提供科学的数据支撑。

m0_74026776的博客 1542

HDU6030 Happy Necklace(递推+矩阵快速幂)

传送门:点我 Little Q wants to buy a necklace for his girlfriend. Necklaces are single strings composed of multiple red and blue beads.Little Q desperately wants to impress his girlfriend, he knows that s...

weixin_30685047的博客 193

IEC103协议实战指南:报文解析与传输优化策略

本文深入解析IEC103协议在电力自动化系统中的核心应用,重点拆解其固定帧与可变帧两种报文格式,并详细阐述了主从问答与非平衡传输机制。文章结合实战经验,针对报文解析中的常见问题(如字节序、超时重发)提供了解决方案,并探讨了传输层优化策略,旨在帮助工程师实现更可靠、高效的通信链路。

r2s3t4的博客 541

HDU 6030 Happy Necklace(矩阵快速幂)

思路: 1.我们用r表示红色,用b表示蓝色,对于一串长为s的珠子,它的末尾情况一共会有三种:(1)***b(2)***br(3)***brr(其中第三种包括了b在离末尾更远的地方),我们设这三个情况的种数分别为a,b,c; 2.此时这串珠子在情况(1)只能继续加红色珠子,得到长度为s+1的情况(2)的珠子;原珠子在情况(2)也只能继续加红色珠子,得到长度为s+1的情况(3)的珠子;原珠子在情况三...

Yuhan的博客 237

Python实战:高效稳定采集微信视频号评论的API爬虫方案

网络爬虫是数据采集领域的核心技术,其原理是通过程序模拟浏览器行为,向目标服务器发送HTTP请求并解析响应数据,从而自动化获取网页或接口中的信息。这项技术的核心价值在于能够高效、批量化地收集公开数据,为市场分析、舆情监控和竞品研究提供数据基础。在社交媒体分析、电商价格监控等应用场景中,爬虫技术尤为重要。针对微信视频号这类动态加载的复杂应用,传统的GUI自动化工具(如影刀RPA)常面临性能瓶颈和风控挑战。本文聚焦于通过Python实现**无感采集**,直接与后端**API接口**交互,构建稳定高效的评论数据采集

weixin_30899023的博客 328

高德地图爬虫

高德地图爬虫 工具:Pycharm,win10,Python3.6.4 1.需求分析 这篇爬虫和上一篇百度地图爬虫要求一样,百度地图爬虫我发现有一个auth参数会一直变化,一旦变化则获取的数据是不准确的,所以我上高德地图看了一下,高德地图没有这个反爬机制。但是高德地图大概爬取120个页面就会跳一次验证码,我这里是通过换IP解决这个问题的。 2.数据准备 同样我们需要全国地级市信息,用之前...

123的博客 1万+

hdu6030 (矩阵快速幂)

这道题让我深深感到了线性代数的重要性啊,递推关系式不是随便搞搞就能出来的! 如果用a表示红色,用b表示蓝色。题意明显可以看出只需要管长度2和3的连续序列是否符合! 如果以b结尾,那么下一个必须是a,或者加个aab就可以了! 所以就是a[n]=a[n-1]+a[n-3];出现了n-3应该就是三维矩阵了! 矩阵要是从a【n-1】推导到a【n】,那么令a【n-1】为第一维, a[n]=a[

nucshiyilang的博客 1152

OceanBase备租户创建(二):通过BACKUP DATABASE PLUS ARCHIVELOG

OceanBase数据库备租户创建方法二:通过BACKUP DATABASE PLUS ARCHIVELOG功能实现,特别适用于社区版和单机版部署模式。

Sebastien23的博客 541

hdu 6030 (矩阵快速幂)

题意:给你一串珠子,要求任意素数区间段内红色大于蓝色,问有多少种方案。赛后补题…… 我们首先可以发现只要考虑2和3就可以了,因为其他任意区间都可以拆成2和3的组合,所以只要2和3满足就一定可以。 然后我们写一下就可以发现规律,如果新加一颗红色,那只要之前的满足就一定可以满足,如果新加一颗蓝色,只有红红蓝这种情况下才可以,所以就有递推式F(x)=F(x-1)+F(x-3) 2 3 4对应的情况我

ciel_s的博客 1107

5、自适应 RBF 神经网络控制方法解析

本文详细解析了基于RBF神经网络的多种自适应控制方法,包括针对函数未知、参数未知以及存在外部干扰的非线性系统的控制策略。通过李雅普诺夫稳定性理论设计自适应律,确保闭环系统稳定,并结合仿真示例和MATLAB代码实现,展示了方法的有效性。文章还对比了不同控制方法的适用场景,并给出了实际应用流程,为复杂系统控制提供了系统性解决方案。

ol789012的博客 72

【Unity实战篇 】| Unity实现 文本框可以自适应大小,到达最大宽度之后再缩小字体

Unity实现 Text文本框可以自适应大小,到达最大宽度之后再缩小字体 需求:在文本框可以自适应大小拉伸的前提下,增加一个最大限制宽度,使其到达最大宽度后 再启用 Best Fit 实现自适应改变文字大小以适应文本框的大小。 在Unity中经常会用到文本组件的自适应大小功能,一般使用HorizontalLayoutGroup和ContentSizeFitter组件配合即可实现文本自适应的效果。

努力前行,总会成为自己心中的那道光 3万+

HDU-6030-Happy Necklace

Happy Necklace Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1693    Accepted Submission(s): 715   Problem Description Little Q wants to...

lee371042的博客 374

8年ES运维经验整理出的Elasticsearch运维手册(超实用)

k1 : 控制非线性词频率归一化(饱和),Elasticsearch中默认值为1.2。用人能看懂的话说就是词语在文档中出现的次数对于得分的重要性。例如说我觉得在某些场景,一个搜索词在文档中出现越多则越接近我希望搜索的内容,就可以将这个参数调大一点。b :控制文档长度对于分数的惩罚力度。变量b处于分母上,它乘以刚刚讨论过的字段长度的比值,Elasticsearch中的b 默认值为0.75。如果b较大,则文档长度相对于平均长度的影响更大。

yonggeit的博客 5275

HDU6030 Happy Necklace[矩阵快速幂]

Happy Necklace  HDU - 6030   题意: 小Q要弄一条项链给女朋友,而弄这条项链的要求,就是要每素数长度里,红色的珠子的个数都不能少于蓝色珠子的个数(就是说红色个数小于等于蓝色个数),然后给你n个珠子(红色蓝色都可以),问弄成符合这样条件的一条项链,能有多少种方案。 题解: 要保证每个素数长度都符合这个条件

ControlBear的博客 742

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

HDU 6030 Happy Necklace (矩阵快速幂)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6030 思路:可以推导出递推式f[i]=f[i-1]+f[i-3],用矩阵快速幂求解即可。 可以参考挑战程序设计竞赛第二版200页详细解释。 代码: 1 const int inf = 0x3f3f3f3f; 2 typedef vector<long long>...

EricJeffrey的博客 97

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

hdu 6030 矩阵快速幂

题意: 给出红蓝两种,然后排成一个字符串,要求在每一个长度为素数的区间里面是的r(red)的数量不小与b(blue)的数量; 思路:想象当n为2的时候的情况是 rr,rb,br,三种情况,当n为3的时候相当于在后面添加一个b或者r,会发现形成rr的情况是前面rr和br的和,形成br的情况是前面的rb,而形成rb的情况是前面的rr,不能有前面的br形成rb,因为在素数为3的时候不能形成br

Everything can be done! 1315

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

HDU - 6030 - Happy Necklace - (矩阵快速幂 )

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6030题意:有n个珠子的项链,有红蓝两种珠子,要求在每一个长度为素数的区间里面红珠的数量不小于蓝珠的数量。求满足要求的项链构造方法。解析:思路来自https://blog.youkuaiyun.com/xiaolonggezte/article/details/71448315思路:想象当n为2的时候的情况是 rr...

Orz 279

HDU 6030 Happy Necklace【矩阵快速幂】

Happy Necklace Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 477Accepted Submission(s): 198 Problem Description Little Q ...

aaf76097的博客 217

HDU6030-Happy Necklace-找规律+矩阵快速幂

//传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6030 #include #include #include #include #include #include using namespace std; #define LL long long #define N 10 #define M 2005 #define INF 0x3f3

survivorone的博客 1884

HDU6030 Happy Necklace【规律 + 矩阵快速幂】

Happy Necklace 题意: 一串由红珠和蓝珠组成的项链,要求其中任意质数个长度的子串中红珠的数量不少于蓝珠。问n个珠子能够组成多少串不相同的项链。 题解: 质素其实只需要考虑2和3即可(我一开始忽略了3)。只要确定长度2和3的组合数量,往后应该是有规律可循的。 找规律: 假定红珠为1,蓝珠为0 长度n = 2 时: 0 1 1 0 1 1 长度n = 3 时:从长度为2的基础上,所有项链后加一都成立,唯有末尾有连续1的才能加0。 0 1 1 1 0 1 1 1 1 1...

lllllan 219

矩阵快速幂--HDU 6030 Happy Necklace

Problem Description Little Q wants to buy a necklace for his girlfriend. Necklaces are single strings composed of multiple red and blue beads. Little Q desperately wants to impress his girlfriend, he ...

日拱一卒,功不唐捐 2874

HDU 6030 Happy Necklace[找规律][矩阵快速幂]

题意:问一个长度为n,由R和B构成字符串,在每个斐波那契长度的子串中,R的个数不少于B。 分析:直接搞不知道怎么搞,然后就手动打了打表,,打到了8,找了一个多小时= =。 最后发现规律是 a[n] = a[n - 1] + a[n - 3]; 因为n有1e18,所以还需要矩阵快速幂加个速。 以下是代码: #include #include #include #includ

C_z_Q 400

HDU 2030 Happy Necklace(矩阵快速幂

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=6030 题目描述: 思路: 数据大,一看就是矩阵快速幂,推出前5项,F(2)=3,F(3)=4,F(4)=6,F(5)=9,F(6)=13....得到 F(n)=F(n-1)+F(n-3)从而得到中间矩阵A, 答案(F(n))就是 Matrix ans = An−4×BA^{n-4} \times B...

nuoyanli的博客 1351

HDU6030----矩阵快速幂

题意: 给出红蓝两种,然后排成一个字符串,要求在每一个长度为素数的区间里面是的r(red)的数量不小与b(blue)的数量; 思路一:想象当n为2的时候的情况是 rr,rb,br,三种情况,当n为3的时候相当于在后面添加一个b或者r,会发现形成rr的情况是前面rr和br的和,形成br的情况是前面的rb,而形成rb的情况是前面的rr,不能有前面的br形成rb,因为在素数为3的时候不能形成...

diudunhai7121的博客 158

hdu 6030 Happy Necklace (递推,矩阵快速幂)

Happy Necklace Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 660    Accepted Submission(s): 299 Problem Description Little Q wa

爱梦者的心之旅 923
上一篇: HDU6029(思维题)
下一篇: codeforces 799C(线段树区间更新)
creatorx
博客等级 码龄10年 127粉丝 145原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值