题目

思路

结论题,我不会证明:

找到第一个 \(|S_n| \leq m + 1\),那么答案就是 \(m - |S_{n-2}|\)

证明?我说了我不会,就当结论用吧

这已经很恶心了

然而这题还要打高精度?!

斐波那契数列太大了

注意有很多细节问题

就当留个高精度的优美板子吧!

\(Code\)

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
typedef long long LL; const LL P = 258280327;
char s[1005];
int mm[1005] , f[5010][1005];
LL mo[5010]; inline void Plus(int a , int b , int c)
{
int g = 0;
f[c][0] = max(f[a][0] , f[b][0]);
for(register int i = 1; i <= f[c][0]; i++)
{
f[c][i] = f[a][i] + f[b][i] + g;
g = f[c][i] / 10;
f[c][i] %= 10;
}
if (g) f[c][++f[c][0]] = g;
} inline bool check(int x)
{
if (mm[0] < f[x][0]) return 1;
if (mm[0] > f[x][0]) return 0;
for(register int i = mm[0]; i; i--)
if (mm[i] < f[x][i]) return 1;
else if (mm[i] > f[x][i]) return 0;
return 0;
} inline void print(int x)
{
LL sum = 0;
for(register int i = mm[0]; i; i--) sum = (sum * 10 % P + mm[i]) % P;
printf("%lld\n" , ((sum - 1 - mo[x - 2]) % P + P) % P);
} int main()
{
f[1][f[1][0] = 1] = 1 , f[2][f[2][0] = 1] = 1 , mo[1] = mo[2] = 1;
for(register int i = 3; i <= 5000; i++) Plus(i - 1 , i - 2 , i) , mo[i] = (mo[i - 1] + mo[i - 2]) % P; int T;
scanf("%d" , &T);
for(; T; T--)
{
int n , len;
scanf("%d%s" , &n , s);
memset(mm , 0 , sizeof mm); len = strlen(s);
for(register int i = len - 1; i >= 0; i--) mm[++mm[0]] = s[i] - '0';
int g = 1;
for(register int i = 1; i <= mm[0]; i++)
mm[i] += g , g = mm[i] / 10 , mm[i] %= 10;
if (g) mm[++mm[0]] = g; for(register int i = 3; i <= 5000; i++)
if (check(i)){print(i); break;}
}
}

最新文章

  1. Spring ApplicationContext 简解
  2. localStorage使用总结
  3. 国内固定电话正则验证:&#39;tel&#39;: [/0\d{2,3}-\d{7,8}(|([-\u8f6c]{1}\d{1,5}))$/, &quot;请填写有效的电话号码&quot;],
  4. vim 学习记录
  5. 替代jquery
  6. 【Linux高频命令专题(2)】awk
  7. 安装wampserve之前需要安装vc++2012.
  8. 用Beautifulsoup 来爬取贴吧图片
  9. bat命令查询硬件信息
  10. Android打印当前所有线程及对应栈信息
  11. shell jq
  12. Jmeter TCP取样器配置及发送图解
  13. htons、htonl与字节序大小端
  14. C++14尝鲜:Generic Lambdas(泛型lambda)
  15. PL/SQL编程基础(五):异常处理(EXCEPTION)
  16. Visual C++的DLL
  17. Java复习之Eclipse快捷键大全
  18. 软工实践Beta冲刺(2/7)
  19. springMVC集成 -- shiro(配置)
  20. C#中使用泛型对照使用通用基础类型效率减少近一倍

热门文章

  1. 【十次方微服务后台开发】Day01:环境、缓存(吐槽)、ES搜索文章、MQ注册时发送验证码
  2. 爬了10000张NASA关于火星探索的图片,我发现了一个秘密
  3. 网络爬虫之requests模块,自动办公领域之openpyx模块
  4. STM32点亮LED的代码
  5. VMware虚拟机开机黑屏解决方法
  6. 百度智能云 API调用PythonSDK
  7. Django框架:13、csrf跨站请求伪造、auth认证模块及相关用法
  8. python进阶之路4基本运算符、格式化输出
  9. lwl-resume 个人简历编辑使用说明
  10. doc指令