[luogu4834]萨塔尼亚的期末考试
这里有 oeis 的解释,但是我看不懂。
题目大意:快速地求
写一个矩阵快速幂就可以解决问题,时间复杂度
观察一下结果,可以发现我们分别对 ans
中两个相邻的 fib
值进行计算,这并没有利用好矩阵乘法的性质
回想一下最初学习矩阵快速幂的时候,老师演算 fib
的时候是一个
我们用老师最初讲的方法来计算 fib
的值,可以节省一半的时间,在加上for
循环,就可以轻松切过这道题了~
UPD: 老师最后写的方法并不是错的,在只求一次或者不相邻的项中会显得更快一些,但这并不代表我们可以忘掉原来讲的那种方法(这真的是一道好题)
最终的矩阵为:
题目背景
“呐,珈百璃,我说,暑假我们去哪里玩呢?“薇奈特拍拍珈百璃的肩膀
“哈?暑假当然是在家里打游戏啦”珈百璃无精打采地回答道
“怎么能这样呢?你好歹也是天使啊,给我拿出天使的样子来啊”
“真麻烦”
“所以,暑假我们去海边玩吧?”
“赞成赞成!去海边玩的话,就可以好好调戏珈百璃了。“菈菲尔不知道什么时候凑进来
“麻烦死了。”
这边一群人正讨论着暑假去哪玩,然而萨塔尼亚在旁边听得很纠结,因为没有人邀请她……
“哼哼哼哼,吾乃神魔萨塔尼亚,怎么可能主动去加入呢,我必须等她们邀请我”萨塔尼亚心理打着小算盘
“呐,我说,萨塔尼亚貌似有点小不开心呀”
“已经不是貌似了吧,她这表情完全没有掩盖的意思啊……”
“呐,我说,要不要邀请她去啊?”
拉菲尓说着,走向了萨塔尼亚。“萨塔尼亚桑,暑假我们要去海边玩哟~”
“哼哼哼,终于来邀请我了吗”萨塔尼亚心里有点小开心,小声嘀咕道
“萨塔尼亚桑就好好待在这里哟~”
“额……”萨塔尼亚受到了成吨的暴击,“喂,我说,哪有你这样的啊”
“恩?因为,萨塔尼亚桑,暑假如果要出去玩的话,就要通过期末考试哟,不然会被留下来补课的”
“补……补课……”萨塔尼亚貌似意会到了什么,脸色大变,“补课……呐,拉菲尓……你……你能帮我……补习吗?”
“恩?可以呀~但是期末考试如何就得看你自己了”
“谢谢,那帮我看看这些哪里错了吧?我完全不懂诶”
“我看看……” 拉菲尓丢下珈百璃和薇奈特独自给萨塔尼亚开始了补习。
终于,期末考来了,萨塔尼亚努力的这么久,就看这次考试了!经过长期的努力,期末考一切顺利,除了还没考的数学其他学科都及格啦!
终于到了最后一场考试——物理考试。很不错的是,萨塔尼亚已经答完了59分而且全对,但是她遇到了一道绝世难题,而且她很惊奇的发现,总分100分,这题41分,如果不写出来,就会挂科。
“期末考如果有某人有挂科,那么那个人的暑假要参加补课以及补考!“班主任的话萦绕在她的耳旁,这可怎么办啊……
题目描述
有一个由
好消息是,只要这道题拿到分,萨塔尼亚就能及格啦!
输入格式
第一行一个整数
接下来
输出格式
对于每次询问输出一行一个整数表示期望能量,为了避免精度问题,我们输出的数都是
输入样例
12
输出样例
1
说明
样例解释:
请结合样例仔细再仔细的读题!
对于
对于
对于
对于
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#define LL long long#define mod 998244353using namespace std;inline LL quickpow(LL a,LL b){ LL ans=1; while(b) { if(b&1)ans=(ans*a)%mod; a=(a*a)%mod;b>>=1; } return ans;}int main(void){ int n; scanf("%d",&n); ; return 0;}